20 #ifndef OBJECT_VECTOR_H    21 #define OBJECT_VECTOR_H    47 template <
typename T, 
typename U>
    60 template <
typename T, 
typename U, 
typename INDEX>
    63                           INDEX (T::*getN)(
void) 
const);
    69 template <
typename T, 
typename U, 
typename INDEX>
    72                           Ptr<U> (T::*
get)(INDEX) 
const);
    79 template <
typename T, 
typename U>
    85     virtual bool DoGetN (
const ObjectBase *
object, std::size_t *
n)
 const    87       const T *obj = 
dynamic_cast<const T *
> (object);
    92       *
n = (obj->*m_memberVector).size ();
    97       const T *obj = 
static_cast<const T *
> (object);
    98       typename U::const_iterator begin = (obj->*m_memberVector).begin ();
    99       typename U::const_iterator end = (obj->*m_memberVector).end ();
   101       for (
typename U::const_iterator j = begin; j != end; j++, 
k++)
   114     U T::*m_memberVector;
   115   } *spec = 
new MemberStdContainer ();
   116   spec->m_memberVector = memberVector;
   120 template <
typename T>
   123   return MakeObjectPtrContainerChecker<T> ();
   126 template <
typename T, 
typename U, 
typename INDEX>
   127 Ptr<const AttributeAccessor>
   129                           INDEX (T::*getN)(
void) 
const)
   131   return MakeObjectPtrContainerAccessor<T,U,INDEX> (
get, getN);
   134 template <
typename T, 
typename U, 
typename INDEX>
   135 Ptr<const AttributeAccessor>
   137                           Ptr<U> (T::*
get)(INDEX) 
const)
   139   return MakeObjectPtrContainerAccessor<T,U,INDEX> (
get, getN);
 Smart pointer class similar to boost::intrusive_ptr. 
 
Ptr< const AttributeChecker > MakeObjectVectorChecker(void)
  
 
ns3::Ptr smart pointer declaration and implementation. 
 
Ptr< const AttributeAccessor > MakeObjectVectorAccessor(U T::*memberVariable)
MakeAccessorHelper implementation for ObjectVector. 
 
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
 
Anchor the ns-3 type and attribute system. 
 
ns3::ObjectPtrContainerValue attribute value declarations and template implementations. 
 
AttributeAccessor implementation for ObjectPtrContainerValue. 
 
ns3::AttributeValue, ns3::AttributeAccessor and ns3::AttributeChecker declarations. 
 
ObjectPtrContainerValue ObjectVectorValue
ObjectVectorValue is an alias for ObjectPtrContainerValue. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
ns3::Object class declaration, which is the root of the Object hierarchy and Aggregation. 
 
Container for a set of ns3::Object pointers.