Public Member Functions | |
BaseB () | |
virtual void | Dispose (void) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Start (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static ns3::TypeId | GetTypeId (void) |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
Definition at line 60 of file object-test-suite.cc.
|
inline |
Definition at line 70 of file object-test-suite.cc.
|
inlinevirtual |
Run the DoDispose methods of this object and all the objects aggregated to it. After calling this method, the object is expected to be totally unusable except for the Ref and Unref methods.
Note that you can call Dispose many times on the same object or different objects aggregated together, and DoDispose will be called only once for each aggregated object.
This method is typically used to break reference cycles.
Note: the code here is a bit tricky because we need to protect ourselves from modifications in the aggregate array while DoDispose is called. The user's DoDispose implementation could call GetObject (which could reorder the array) and it could call AggregateObject which would add an object at the end of the array. So, to be safe, we restart the iteration over the array whenever we call some user code.
Reimplemented from ns3::Object.
Reimplemented in anonymous_namespace{object-test-suite.cc}::DerivedB.
Definition at line 72 of file object-test-suite.cc.
|
inlinestatic |
Reimplemented from ns3::Object.
Reimplemented in anonymous_namespace{object-test-suite.cc}::DerivedB.
Definition at line 63 of file object-test-suite.cc.
References ns3::TypeId::AddConstructor(), ns3::TypeId::HideFromDocumentation(), and ns3::TypeId::SetParent().