A template-based reference counting class. More...
#include <simple-ref-count.h>
Public Member Functions | |
SimpleRefCount (const SimpleRefCount &o) | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
uint32_t | GetReferenceCount (void) const |
Static Public Member Functions | |
static void | Cleanup (void) |
A template-based reference counting class.
This template can be used to give reference-counting powers to a class. This template does not require this class to have a virtual destructor or no parent class.
Note: if you are moving to this template from the RefCountBase class, you need to be careful to mark appropriately your destructor virtual if needed. i.e., if your class has subclasses, _do_ mark your destructor virtual.
This template takes 3 arguments but only the first argument is mandatory:
Interesting users of this class include ns3::Object as well as ns3::Packet.
uint32_t ns3::SimpleRefCount< T, PARENT, DELETER >::GetReferenceCount | ( | void | ) | const [inline] |
Get the reference count of the object. Normally not needed; for language bindings.
void ns3::SimpleRefCount< T, PARENT, DELETER >::Ref | ( | void | ) | const [inline] |
Increment the reference count. This method should not be called by user code. SimpleRefCount instances are expected to be used in conjunction with the Ptr template which would make calling Ref unecessary and dangerous.
void ns3::SimpleRefCount< T, PARENT, DELETER >::Unref | ( | void | ) | const [inline] |
Decrement the reference count. This method should not be called by user code. SimpleRefCount instances are expected to be used in conjunction with the Ptr template which would make calling Ref unecessary and dangerous.