A container for one type of attribute. More...
#include "attribute-container.h"
Public Types | |
typedef A | attribute_type |
AttributeValue (element) type. More... | |
typedef container_type::const_iterator | const_iterator |
stl-style Const iterator type. More... | |
typedef std::list< value_type > | container_type |
Internal container type. More... | |
typedef std::invoke_result_t< decltype(&A::Get), A > | item_type |
Item type of container returned by Get. More... | |
typedef container_type::iterator | iterator |
stl-style Non-const iterator type. More... | |
typedef AttributeContainerValue::const_iterator | Iterator |
NS3 style iterator type. More... | |
typedef C< item_type > | result_type |
Type of container returned. More... | |
typedef container_type::size_type | size_type |
Size type for container. More... | |
typedef Ptr< A > | value_type |
Type actually stored within the container. More... | |
Public Member Functions | |
AttributeContainerValue () | |
Default constructor. More... | |
template<class CONTAINER > | |
AttributeContainerValue (const CONTAINER &c) | |
Construct from another container. More... | |
template<class ITER > | |
AttributeContainerValue (const ITER begin, const ITER end) | |
Construct from iterators. More... | |
~AttributeContainerValue () override | |
Destructor. More... | |
Iterator | Begin () |
NS3-style beginning of container. More... | |
iterator | begin () |
STL-style beginning of container. More... | |
const_iterator | begin () const |
STL-style const beginning of container. More... | |
Ptr< AttributeValue > | Copy () const override |
bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker) override |
Iterator | End () |
NS3-style ending of container. More... | |
iterator | end () |
STL-style end of container. More... | |
const_iterator | end () const |
STL-style const end of container. More... | |
result_type | Get () const |
Return a container of items. More... | |
template<typename T > | |
bool | GetAccessor (T &value) const |
Set the given variable to the values stored by this TupleValue object. More... | |
size_type | GetN () const |
NS3-style Number of items. More... | |
std::string | SerializeToString (Ptr< const AttributeChecker > checker) const override |
template<class T > | |
void | Set (const T &c) |
Copy items from container c. More... | |
size_type | size () const |
STL-style number of items in container. More... | |
Public Member Functions inherited from ns3::AttributeValue | |
AttributeValue () | |
virtual | ~AttributeValue () |
Public Member Functions inherited from ns3::SimpleRefCount< AttributeValue > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
Private Member Functions | |
template<class ITER > | |
Ptr< AttributeContainerValue< A, Sep, C > > | CopyFrom (const ITER begin, const ITER end) |
Copy items from begin to end. More... | |
Private Attributes | |
container_type | m_container |
Internal container. More... | |
A container for one type of attribute.
The container uses A
to parse items into elements. Internally the container is always a list but an instance can return the items in a container specified by C
.
A | AttributeValue type to be contained. |
Sep | Character separator between elements for parsing. |
C | Possibly templated container class returned by Get. |
Definition at line 52 of file attribute-container.h.
typedef A ns3::AttributeContainerValue< A, Sep, C >::attribute_type |
AttributeValue (element) type.
Definition at line 56 of file attribute-container.h.
typedef container_type::const_iterator ns3::AttributeContainerValue< A, Sep, C >::const_iterator |
stl-style Const iterator type.
Definition at line 62 of file attribute-container.h.
typedef std::list<value_type> ns3::AttributeContainerValue< A, Sep, C >::container_type |
Internal container type.
Definition at line 60 of file attribute-container.h.
typedef std::invoke_result_t<decltype(&A::Get), A> ns3::AttributeContainerValue< A, Sep, C >::item_type |
Item type of container returned by Get.
Definition at line 72 of file attribute-container.h.
typedef container_type::iterator ns3::AttributeContainerValue< A, Sep, C >::iterator |
stl-style Non-const iterator type.
Definition at line 64 of file attribute-container.h.
typedef AttributeContainerValue::const_iterator ns3::AttributeContainerValue< A, Sep, C >::Iterator |
NS3 style iterator type.
Definition at line 68 of file attribute-container.h.
typedef C<item_type> ns3::AttributeContainerValue< A, Sep, C >::result_type |
Type of container returned.
Definition at line 74 of file attribute-container.h.
typedef container_type::size_type ns3::AttributeContainerValue< A, Sep, C >::size_type |
Size type for container.
Definition at line 66 of file attribute-container.h.
typedef Ptr<A> ns3::AttributeContainerValue< A, Sep, C >::value_type |
Type actually stored within the container.
Definition at line 58 of file attribute-container.h.
ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue |
Default constructor.
Definition at line 384 of file attribute-container.h.
ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue | ( | const CONTAINER & | c | ) |
Construct from another container.
CONTAINER | [deduced] type of container passed for initialization. |
c | Instance of CONTAINER with which to initialize AttributeContainerValue. |
Definition at line 390 of file attribute-container.h.
ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue | ( | const ITER | begin, |
const ITER | end | ||
) |
Construct from iterators.
ITER | [deduced] type of iterator. |
[in] | begin | Iterator that points to first initialization item. |
[in] | end | Iterator that points ones past last initialization item. |
Definition at line 397 of file attribute-container.h.
References ns3::AttributeContainerValue< A, Sep, C >::begin(), ns3::AttributeContainerValue< A, Sep, C >::CopyFrom(), and ns3::AttributeContainerValue< A, Sep, C >::end().
|
override |
Destructor.
Definition at line 404 of file attribute-container.h.
AttributeContainerValue< A, Sep, C >::Iterator ns3::AttributeContainerValue< A, Sep, C >::Begin |
NS3-style beginning of container.
Definition at line 509 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun().
AttributeContainerValue< A, Sep, C >::iterator ns3::AttributeContainerValue< A, Sep, C >::begin |
STL-style beginning of container.
Definition at line 530 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue(), and AttributeContainerSetGetTestCase::DoRun().
AttributeContainerValue< A, Sep, C >::const_iterator ns3::AttributeContainerValue< A, Sep, C >::begin |
STL-style const beginning of container.
Definition at line 544 of file attribute-container.h.
|
overridevirtual |
Implements ns3::AttributeValue.
Definition at line 411 of file attribute-container.h.
|
private |
The internal container is cleared before values are copied using the push_back method.
ITER | [deduced] iterator type |
[in] | begin | Points to first item to copy |
[in] | end | Points to one after last item to copy |
Definition at line 559 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue().
|
overridevirtual |
[in] | value | A string representation of the value |
[in] | checker | A pointer to the checker associated to the attribute. |
Upon return of this function, this AttributeValue instance contains the deserialized value. In most cases, this method will not make any use of the checker argument. However, in a very limited set of cases, the checker argument is needed to perform proper serialization. A nice example of code which needs it is the EnumValue::SerializeToString code.
Implements ns3::AttributeValue.
Definition at line 420 of file attribute-container.h.
Referenced by AttributeContainerSerializationTestCase::DoRun().
AttributeContainerValue< A, Sep, C >::Iterator ns3::AttributeContainerValue< A, Sep, C >::End |
NS3-style ending of container.
Definition at line 516 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun().
AttributeContainerValue< A, Sep, C >::iterator ns3::AttributeContainerValue< A, Sep, C >::end |
STL-style end of container.
Definition at line 537 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue(), grid.TimelinesRenderer::draw_events(), and grid.TimelinesRenderer::draw_ranges().
AttributeContainerValue< A, Sep, C >::const_iterator ns3::AttributeContainerValue< A, Sep, C >::end |
STL-style const end of container.
Definition at line 551 of file attribute-container.h.
Referenced by grid.TimelinesRenderer::draw_events(), and grid.TimelinesRenderer::draw_ranges().
AttributeContainerValue< A, Sep, C >::result_type ns3::AttributeContainerValue< A, Sep, C >::Get |
Return a container of items.
Definition at line 470 of file attribute-container.h.
bool ns3::AttributeContainerValue< A, Sep, C >::GetAccessor | ( | T & | value | ) | const |
Set the given variable to the values stored by this TupleValue object.
T | [deduced] the type of the given variable (normally, the argument type of a set method or the type of a data member) |
value | the given variable |
Definition at line 483 of file attribute-container.h.
AttributeContainerValue< A, Sep, C >::size_type ns3::AttributeContainerValue< A, Sep, C >::GetN |
NS3-style Number of items.
Definition at line 502 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun(), and AttributeContainerSerializationTestCase::DoRun().
|
overridevirtual |
[in] | checker | The checker associated to the attribute |
In most cases, this method will not make any use of the checker argument. However, in a very limited set of cases, the checker argument is needed to perform proper serialization. A nice example of code which needs it is the EnumValue::SerializeToString code.
Implements ns3::AttributeValue.
Definition at line 452 of file attribute-container.h.
Referenced by AttributeContainerSerializationTestCase::DoRun().
void ns3::AttributeContainerValue< A, Sep, C >::Set | ( | const T & | c | ) |
Copy items from container c.
This method assumes c
has stl-style begin and end methods. The AttributeContainerValue value is cleared before copying from c
.
T | type of container. |
c | Container from which to copy items. |
Definition at line 494 of file attribute-container.h.
AttributeContainerValue< A, Sep, C >::size_type ns3::AttributeContainerValue< A, Sep, C >::size |
STL-style number of items in container.
Definition at line 523 of file attribute-container.h.
Referenced by AttributeContainerSetGetTestCase::DoRun().
|
private |
Internal container.
Definition at line 191 of file attribute-container.h.