A Discrete-Event Network Simulator
API
ObjectVector Attribute

AttributeValue implementation for ObjectVector. More...

+ Collaboration diagram for ObjectVector Attribute:

Files

file  object-vector.h
 ns3::ObjectVectorValue attribute value declarations and template implementations.
 

Classes

class  ObjectVectorChecker
 AttributeChecker implementation for ObjectVectorValue. More...
 

Typedefs

typedef ObjectPtrContainerValue ns3::ObjectVectorValue
 ObjectVectorValue is an alias for ObjectPtrContainerValue. More...
 

Functions

template<typename T , typename U , typename INDEX >
Ptr< const AttributeAccessorns3::MakeObjectVectorAccessor (INDEX(T::*getN)(void) const, Ptr< U >(T::*get)(INDEX) const)
 Create an AttributeAccessor using a container class indexed get method. More...
 
template<typename T , typename U , typename INDEX >
Ptr< const AttributeAccessorns3::MakeObjectVectorAccessor (Ptr< U >(T::*get)(INDEX) const, INDEX(T::*getN)(void) const)
 Create an AttributeAccessor using a container class indexed get method. More...
 
template<typename T , typename U >
Ptr< const AttributeAccessorns3::MakeObjectVectorAccessor (U T::*memberVariable)
 MakeAccessorHelper implementation for ObjectVector. More...
 
template<typename T >
Ptr< const AttributeCheckerns3::MakeObjectVectorChecker (void)
 

Detailed Description

AttributeValue implementation for ObjectVector.

Typedef Documentation

◆ ObjectVectorValue

ObjectVectorValue is an alias for ObjectPtrContainerValue.

Definition at line 40 of file object-vector.h.

Function Documentation

◆ MakeObjectVectorAccessor() [1/3]

template<typename T , typename U , typename INDEX >
Ptr< const AttributeAccessor > ns3::MakeObjectVectorAccessor ( INDEX(T::*)(void) const  getN,
Ptr< U >(T::*)(INDEX) const  get 
)

Create an AttributeAccessor using a container class indexed get method.

The two versions of this function differ only in argument order.

Template Parameters
T[deduced] The container class type.
U[deduced] The type of object the get method returns.
INDEX[deduced] The type of the index variable.
Parameters
[in]getThe class method to get a specific instance from the container.
[in]getNThe class method to return the number of objects in the container.
Returns
The AttributeAccessor.

Definition at line 136 of file object-vector.h.

References nlohmann::detail::get().

+ Here is the call graph for this function:

◆ MakeObjectVectorAccessor() [2/3]

template<typename T , typename U , typename INDEX >
Ptr< const AttributeAccessor > ns3::MakeObjectVectorAccessor ( Ptr< U >(T::*)(INDEX) const  get,
INDEX(T::*)(void) const  getN 
)

Create an AttributeAccessor using a container class indexed get method.

The two versions of this function differ only in argument order.

Template Parameters
T[deduced] The container class type.
U[deduced] The type of object the get method returns.
INDEX[deduced] The type of the index variable.
Parameters
[in]getThe class method to get a specific instance from the container.
[in]getNThe class method to return the number of objects in the container.
Returns
The AttributeAccessor.

Definition at line 128 of file object-vector.h.

References nlohmann::detail::get().

+ Here is the call graph for this function:

◆ MakeObjectVectorAccessor() [3/3]

template<typename T , typename U >
Ptr< const AttributeAccessor > ns3::MakeObjectVectorAccessor ( U T::*  memberVariable)

MakeAccessorHelper implementation for ObjectVector.

Template Parameters
V[explicit] The specific AttributeValue type to use to represent the Attribute.
T[deduced] The class holding the data member.
U[deduced] The type of the data member.
Parameters
[in]memberVariableThe address of the data member.
Returns
The AttributeAccessor.

Definition at line 81 of file object-vector.h.

References bianchi11ax::k, and NS_ASSERT.

Referenced by ns3::Ipv6ExtensionRoutingDemux::GetTypeId(), ns3::Ipv6L3Protocol::GetTypeId(), ns3::BuildingListPriv::GetTypeId(), AttributeObjectTest::GetTypeId(), ns3::tests::ConfigTestObject::GetTypeId(), ns3::ArpL3Protocol::GetTypeId(), ns3::Ipv4L3Protocol::GetTypeId(), ns3::Ipv6ExtensionDemux::GetTypeId(), ns3::Ipv6OptionDemux::GetTypeId(), ns3::TcpL4Protocol::GetTypeId(), ns3::UdpL4Protocol::GetTypeId(), ns3::ChannelListPriv::GetTypeId(), ns3::NodeListPriv::GetTypeId(), ns3::Node::GetTypeId(), ns3::QKDControl::GetTypeId(), ns3::QueueDisc::GetTypeId(), and ns3::WaveNetDevice::GetTypeId().

+ Here is the caller graph for this function:

◆ MakeObjectVectorChecker()

template<typename T >
ns3::Ptr< const ns3::AttributeChecker > ns3::MakeObjectVectorChecker ( void  )
Returns
The AttributeChecker.
See also
AttributeChecker

Definition at line 121 of file object-vector.h.