A container for one type of attribute. More...
#include "attribute-container.h"
Inheritance diagram for ns3::AttributeContainerValue< A, Sep, C >:
Collaboration diagram for ns3::AttributeContainerValue< A, Sep, C >:Public Types | |
| typedef A | attribute_type |
| AttributeValue (element) type. | |
| typedef container_type::const_iterator | const_iterator |
| stl-style Const iterator type. | |
| typedef std::list< value_type > | container_type |
| Internal container type. | |
| typedef std::invoke_result_t< decltype(&A::Get), A > | item_type |
| Item type of container returned by Get. | |
| typedef container_type::iterator | iterator |
| stl-style Non-const iterator type. | |
| typedef AttributeContainerValue::const_iterator | Iterator |
| NS3 style iterator type. | |
| typedef C< item_type > | result_type |
| Type of container returned. | |
| typedef container_type::size_type | size_type |
| Size type for container. | |
| typedef Ptr< A > | value_type |
| Type actually stored within the container. | |
Public Member Functions | |
| AttributeContainerValue () | |
| Default constructor. | |
| template<class CONTAINER > | |
| AttributeContainerValue (const CONTAINER &c) | |
| Construct from another container. | |
| template<class ITER > | |
| AttributeContainerValue (const ITER begin, const ITER end) | |
| Construct from iterators. | |
| ~AttributeContainerValue () override | |
| Destructor. | |
| Iterator | Begin () |
| NS3-style beginning of container. | |
| iterator | begin () |
| STL-style beginning of container. | |
| const_iterator | begin () const |
| STL-style const beginning of container. | |
| Ptr< AttributeValue > | Copy () const override |
| bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker) override |
| Iterator | End () |
| NS3-style ending of container. | |
| iterator | end () |
| STL-style end of container. | |
| const_iterator | end () const |
| STL-style const end of container. | |
| result_type | Get () const |
| Return a container of items. | |
| template<typename T > | |
| bool | GetAccessor (T &value) const |
| Set the given variable to the values stored by this TupleValue object. | |
| size_type | GetN () const |
| NS3-style Number of items. | |
| std::string | SerializeToString (Ptr< const AttributeChecker > checker) const override |
| template<class T > | |
| void | Set (const T &c) |
| Copy items from container c. | |
| size_type | size () const |
| STL-style number of items in container. | |
Public Member Functions inherited from ns3::AttributeValue | |
| AttributeValue () | |
| virtual | ~AttributeValue () |
| virtual Ptr< AttributeValue > | Copy () const =0 |
| virtual bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker)=0 |
| virtual std::string | SerializeToString (Ptr< const AttributeChecker > checker) const =0 |
Public Member Functions inherited from ns3::SimpleRefCount< AttributeValue > | |
| SimpleRefCount () | |
| Default constructor. | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. | |
| uint32_t | GetReferenceCount () const |
| Get the reference count of the object. | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. | |
| void | Ref () const |
| Increment the reference count. | |
| void | Unref () const |
| Decrement the reference count. | |
Private Member Functions | |
| template<class ITER > | |
| Ptr< AttributeContainerValue< A, Sep, C > > | CopyFrom (const ITER begin, const ITER end) |
| Copy items from begin to end. | |
Private Attributes | |
| container_type | m_container |
| Internal container. | |
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().
Here is the call graph for this function:
|
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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:
|
private |
Internal container.
Definition at line 191 of file attribute-container.h.