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, uint32_t *n)
 const {
 
   86       const T *obj = 
dynamic_cast<const T *
> (object);
 
   91       *n = (obj->*m_memberVector).size ();
 
   95       const T *obj = 
static_cast<const T *
> (object);
 
   96       typename U::const_iterator begin = (obj->*m_memberVector).begin ();
 
   97       typename U::const_iterator end = (obj->*m_memberVector).end ();
 
   99       for (
typename U::const_iterator j = begin; j != end; j++, k++)
 
  112     U T::*m_memberVector;
 
  113   } *spec = 
new MemberStdContainer ();
 
  114   spec->m_memberVector = memberVector;
 
  118 template <
typename T>
 
  121   return MakeObjectPtrContainerChecker<T> ();
 
  124 template <
typename T, 
typename U, 
typename INDEX>
 
  125 Ptr<const AttributeAccessor>
 
  127               INDEX (T::*getN)(
void) 
const)
 
  129   return MakeObjectPtrContainerAccessor<T,U,INDEX>(
get, getN);
 
  132 template <
typename T, 
typename U, 
typename INDEX>
 
  133 Ptr<const AttributeAccessor>
 
  135               Ptr<U> (T::*
get)(INDEX) 
const)
 
  137   return MakeObjectPtrContainerAccessor<T,U,INDEX>(
get, getN);
 
Smart pointer class similar to boost::intrusive_ptr. 
 
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...
 
Ptr< const AttributeChecker > MakeObjectVectorChecker(void)
 
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.