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 (char sep=',') | |
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 () | |
Destructor. More... | |
Iterator | Begin (void) |
NS3-style beginning of container. More... | |
iterator | begin (void) |
STL-style beginning of container. More... | |
const_iterator | begin (void) const |
STL-style const beginning of container. More... | |
Ptr< AttributeValue > | Copy (void) const |
bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker) |
Iterator | End (void) |
NS3-style ending of container. More... | |
iterator | end (void) |
STL-style end of container. More... | |
const_iterator | end (void) const |
STL-style const end of container. More... | |
result_type | Get (void) const |
Return a container of items. More... | |
size_type | GetN (void) const |
NS3-style Number of items. More... | |
std::string | SerializeToString (Ptr< const AttributeChecker > checker) const |
template<class T > | |
void | Set (const T &c) |
Copy items from container c. More... | |
size_type | size (void) 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 (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Private Member Functions | |
template<class ITER > | |
Ptr< AttributeContainerValue< A, C > > | CopyFrom (const ITER begin, const ITER end) |
Copy items from begin to end. More... | |
Private Attributes | |
container_type | m_container |
Internal container. More... | |
char | m_sep |
Item separator. 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. |
C | Possibly templated container class returned by Get. |
Definition at line 51 of file attribute-container.h.
typedef A ns3::AttributeContainerValue< A, C >::attribute_type |
AttributeValue (element) type.
Definition at line 55 of file attribute-container.h.
typedef container_type::const_iterator ns3::AttributeContainerValue< A, C >::const_iterator |
stl-style Const iterator type.
Definition at line 61 of file attribute-container.h.
typedef std::list<value_type> ns3::AttributeContainerValue< A, C >::container_type |
Internal container type.
Definition at line 59 of file attribute-container.h.
typedef std::invoke_result_t<decltype(&A::Get), A> ns3::AttributeContainerValue< A, C >::item_type |
Item type of container returned by Get.
Definition at line 71 of file attribute-container.h.
typedef container_type::iterator ns3::AttributeContainerValue< A, C >::iterator |
stl-style Non-const iterator type.
Definition at line 63 of file attribute-container.h.
typedef AttributeContainerValue::const_iterator ns3::AttributeContainerValue< A, C >::Iterator |
NS3 style iterator type.
Definition at line 67 of file attribute-container.h.
typedef C<item_type> ns3::AttributeContainerValue< A, C >::result_type |
Type of container returned.
Definition at line 73 of file attribute-container.h.
typedef container_type::size_type ns3::AttributeContainerValue< A, C >::size_type |
Size type for container.
Definition at line 65 of file attribute-container.h.
typedef Ptr<A> ns3::AttributeContainerValue< A, C >::value_type |
Type actually stored within the container.
Definition at line 57 of file attribute-container.h.
ns3::AttributeContainerValue< A, C >::AttributeContainerValue | ( | char | sep = ',' | ) |
Default constructor.
[in] | sep | Character separator between elements for parsing. |
Definition at line 341 of file attribute-container.h.
ns3::AttributeContainerValue< A, 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 349 of file attribute-container.h.
ns3::AttributeContainerValue< A, 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 357 of file attribute-container.h.
References ns3::AttributeContainerValue< A, C >::begin(), ns3::AttributeContainerValue< A, C >::CopyFrom(), and ns3::AttributeContainerValue< A, C >::end().
ns3::AttributeContainerValue< A, C >::~AttributeContainerValue |
Destructor.
Definition at line 364 of file attribute-container.h.
AttributeContainerValue< A, C >::Iterator ns3::AttributeContainerValue< A, C >::Begin | ( | void | ) |
NS3-style beginning of container.
Definition at line 444 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun().
AttributeContainerValue< A, C >::iterator ns3::AttributeContainerValue< A, C >::begin | ( | void | ) |
STL-style beginning of container.
Definition at line 465 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, C >::AttributeContainerValue().
AttributeContainerValue< A, C >::const_iterator ns3::AttributeContainerValue< A, C >::begin | ( | void | ) | const |
STL-style const beginning of container.
Definition at line 479 of file attribute-container.h.
|
virtual |
Implements ns3::AttributeValue.
Definition at line 371 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 494 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, C >::AttributeContainerValue().
|
virtual |
[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 381 of file attribute-container.h.
Referenced by AttributeContainerSerializationTestCase::DoRun().
AttributeContainerValue< A, C >::Iterator ns3::AttributeContainerValue< A, C >::End | ( | void | ) |
NS3-style ending of container.
Definition at line 451 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun().
AttributeContainerValue< A, C >::iterator ns3::AttributeContainerValue< A, C >::end | ( | void | ) |
STL-style end of container.
Definition at line 472 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, C >::AttributeContainerValue(), grid.TimelinesRenderer::draw_events(), and grid.TimelinesRenderer::draw_ranges().
AttributeContainerValue< A, C >::const_iterator ns3::AttributeContainerValue< A, C >::end | ( | void | ) | const |
STL-style const end of container.
Definition at line 486 of file attribute-container.h.
Referenced by grid.TimelinesRenderer::draw_events(), and grid.TimelinesRenderer::draw_ranges().
AttributeContainerValue< A, C >::result_type ns3::AttributeContainerValue< A, C >::Get | ( | void | ) | const |
Return a container of items.
Definition at line 418 of file attribute-container.h.
AttributeContainerValue< A, C >::size_type ns3::AttributeContainerValue< A, C >::GetN | ( | void | ) | const |
NS3-style Number of items.
Definition at line 437 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun(), and AttributeContainerSerializationTestCase::DoRun().
|
virtual |
[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 403 of file attribute-container.h.
Referenced by AttributeContainerSerializationTestCase::DoRun().
void ns3::AttributeContainerValue< A, 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 429 of file attribute-container.h.
AttributeContainerValue< A, C >::size_type ns3::AttributeContainerValue< A, C >::size | ( | void | ) | const |
STL-style number of items in container.
Definition at line 458 of file attribute-container.h.
Referenced by AttributeContainerSetGetTestCase::DoRun().
|
private |
Internal container.
Definition at line 182 of file attribute-container.h.
|
private |
Item separator.
Definition at line 181 of file attribute-container.h.