20 #ifndef LIBMESH_REFERENCE_COUNTED_OBJECT_H
21 #define LIBMESH_REFERENCE_COUNTED_OBJECT_H
24 #include "libmesh/reference_counter.h"
76 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
89 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
102 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
129 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
141 #endif // LIBMESH_REFERENCE_COUNTED_OBJECT_H
ReferenceCountedObject(ReferenceCountedObject &&other) noexcept
Move constructor, must be declared noexcept.
void increment_constructor_count(const std::string &name) noexcept
Increments the construction counter.
ReferenceCountedObject & operator=(const ReferenceCountedObject &)
Copy assignment operator does nothing - we're copying an already-allocated object over an already-all...
This is the base class for enabling reference counting.
ReferenceCountedObject(const ReferenceCountedObject &other)
Also, increment the counter if the copy-constructor is called.
This class implements reference counting.
void increment_destructor_count(const std::string &name) noexcept
Increments the destruction counter.
ReferenceCountedObject()
Constructor.
~ReferenceCountedObject()
Destructor.