A container for one type of attribute. More...
#include "attribute-container.h"
 Inheritance diagram for ns3::AttributeContainerValue< A, Sep, C >:
 Inheritance diagram for ns3::AttributeContainerValue< A, Sep, C >: Collaboration 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 AttributeContainerValue::const_iterator | Iterator | 
| NS3 style iterator type. | |
| typedef container_type::iterator | iterator | 
| stl-style Non-const 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 () | 
|  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 > | |
| void | 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 49 of file attribute-container.h.
| typedef A ns3::AttributeContainerValue< A, Sep, C >::attribute_type | 
AttributeValue (element) type.
Definition at line 53 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 59 of file attribute-container.h.
| typedef std::list<value_type> ns3::AttributeContainerValue< A, Sep, C >::container_type | 
Internal container type.
Definition at line 57 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 69 of file attribute-container.h.
| typedef AttributeContainerValue::const_iterator ns3::AttributeContainerValue< A, Sep, C >::Iterator | 
NS3 style iterator type.
Definition at line 65 of file attribute-container.h.
| typedef container_type::iterator ns3::AttributeContainerValue< A, Sep, C >::iterator | 
stl-style Non-const iterator type.
Definition at line 61 of file attribute-container.h.
| typedef C<item_type> ns3::AttributeContainerValue< A, Sep, C >::result_type | 
Type of container returned.
Definition at line 71 of file attribute-container.h.
| typedef container_type::size_type ns3::AttributeContainerValue< A, Sep, C >::size_type | 
Size type for container.
Definition at line 63 of file attribute-container.h.
| typedef Ptr<A> ns3::AttributeContainerValue< A, Sep, C >::value_type | 
Type actually stored within the container.
Definition at line 55 of file attribute-container.h.
| ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue | ( | ) | 
Default constructor.
Definition at line 400 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 406 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 413 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:
 Here is the call graph for this function:| 
 | override | 
Destructor.
Definition at line 420 of file attribute-container.h.
| AttributeContainerValue< A, Sep, C >::Iterator ns3::AttributeContainerValue< A, Sep, C >::Begin | ( | ) | 
NS3-style beginning of container.
Definition at line 525 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun().
 Here is the caller graph for this function:
 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 546 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| AttributeContainerValue< A, Sep, C >::const_iterator ns3::AttributeContainerValue< A, Sep, C >::begin | ( | ) | const | 
STL-style const beginning of container.
Definition at line 560 of file attribute-container.h.
| 
 | overridevirtual | 
Implements ns3::AttributeValue.
Definition at line 427 of file attribute-container.h.
References ns3::Create().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | inlineprivate | 
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 575 of file attribute-container.h.
References ns3::Create().
Referenced by ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 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 436 of file attribute-container.h.
References ns3::DynamicCast().
Referenced by AttributeContainerSerializationTestCase::DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 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 532 of file attribute-container.h.
Referenced by AttributeContainerTestCase::DoRun().
 Here is the caller graph for this function:
 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 553 of file attribute-container.h.
Referenced by ns3::AttributeContainerValue< A, Sep, C >::AttributeContainerValue().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| AttributeContainerValue< A, Sep, C >::const_iterator ns3::AttributeContainerValue< A, Sep, C >::end | ( | ) | const | 
STL-style const end of container.
Definition at line 567 of file attribute-container.h.
| AttributeContainerValue< A, Sep, C >::result_type ns3::AttributeContainerValue< A, Sep, C >::Get | ( | ) | const | 
Return a container of items.
Definition at line 486 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 499 of file attribute-container.h.
| AttributeContainerValue< A, Sep, C >::size_type ns3::AttributeContainerValue< A, Sep, C >::GetN | ( | ) | const | 
NS3-style Number of items.
Definition at line 518 of file attribute-container.h.
Referenced by AttributeContainerSerializationTestCase::DoRun(), and AttributeContainerTestCase::DoRun().
 Here is the caller graph for this function:
 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 468 of file attribute-container.h.
Referenced by AttributeContainerSerializationTestCase::DoRun().
 Here is the caller graph for this function:
 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 510 of file attribute-container.h.
Referenced by WifiPrimaryChannelsTest::DoSetup(), and WifiFilsFrameTest::SetupDevice().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| AttributeContainerValue< A, Sep, C >::size_type ns3::AttributeContainerValue< A, Sep, C >::size | ( | ) | const | 
STL-style number of items in container.
Definition at line 539 of file attribute-container.h.
| 
 | private | 
Internal container.
Definition at line 187 of file attribute-container.h.