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.