45 #define NS_OBJECT_ENSURE_REGISTERED(type)               \ 
   46   static struct Object ## type ## RegistrationClass     \ 
   48     Object ## type ## RegistrationClass () {            \ 
   49       ns3::TypeId tid = type::GetTypeId ();             \ 
   50       tid.SetSize (sizeof (type));                      \ 
   53   } Object ## type ## RegistrationVariable 
   67 #define NS_OBJECT_TEMPLATE_CLASS_DEFINE(type,param)                    \ 
   68   template class type<param>;                                          \ 
   69   template <> std::string DoGetTypeParamName<type<param> > ()          \ 
   73   static struct Object ## type ## param ## RegistrationClass           \ 
   75     Object ## type ## param ## RegistrationClass () {                  \ 
   76       ns3::TypeId tid = type<param>::GetTypeId ();                     \ 
   77       tid.SetSize (sizeof (type<param>));                              \ 
   80   } Object ## type ## param ## RegistrationVariable 
  101 template <
typename T>
 
  104   return DoGetTypeParamName<T> ();
 
  107 class AttributeConstructionList;
 
Smart pointer class similar to boost::intrusive_ptr. 
 
virtual ~ObjectBase()
Virtual destructor. 
 
Hold a value for an Attribute. 
 
Base class for Callback class. 
 
bool SetAttributeFailSafe(std::string name, const AttributeValue &value)
Set a single attribute without raising errors. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
Anchor the ns-3 type and attribute system. 
 
bool GetAttributeFailSafe(std::string name, AttributeValue &value) const 
Get the value of an attribute without raising erros. 
 
std::string DoGetTypeParamName(void)
Helper function to get the name (as a string) of the type parameter of a template class...
 
Declaration of the various callback functions. 
 
bool TraceDisconnect(std::string name, std::string context, const CallbackBase &cb)
Disconnect from a TraceSource a Callback previously connected with a context. 
 
List of Attribute name, value and checker triples used to construct Objects. 
 
virtual void NotifyConstructionCompleted(void)
Notifier called once the ObjectBase is fully constructed. 
 
bool TraceDisconnectWithoutContext(std::string name, const CallbackBase &cb)
Disconnect from a TraceSource a Callback previously connected without a context. 
 
bool TraceConnectWithoutContext(std::string name, const CallbackBase &cb)
Connect a TraceSource to a Callback without a context. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
ns3::TypeId declaration; inline and template implementations. 
 
void ConstructSelf(const AttributeConstructionList &attributes)
Complete construction of ObjectBase; invoked by derived classes. 
 
void GetAttribute(std::string name, AttributeValue &value) const 
Get the value of an attribute, raising fatal errors if unsuccessful. 
 
bool DoSet(Ptr< const AttributeAccessor > spec, Ptr< const AttributeChecker > checker, const AttributeValue &value)
Attempt to set the value referenced by the accessor spec to a valid value according to the checker...
 
virtual TypeId GetInstanceTypeId(void) const =0
Get the most derived TypeId for this Object. 
 
bool TraceConnect(std::string name, std::string context, const CallbackBase &cb)
Connect a TraceSource to a Callback with a context. 
 
void SetAttribute(std::string name, const AttributeValue &value)
Set a single attribute, raising fatal errors if unsuccessful. 
 
a unique identifier for an interface. 
 
std::string GetTypeParamName(void)
Helper function to get the name (as a string) of the type parameter of a template class...