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.
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.
void GetAttribute(std::string name, AttributeValue &value) const
Get the value of an attribute, raising fatal errors if unsuccessful.
std::string GetTypeParamName(void)
Helper function to get the name (as a string) of the type parameter of a template class...