Hold objects of type std::tuple<Args...>. More...
#include "tuple.h"
Inheritance diagram for ns3::TupleValue< Args >:
Collaboration diagram for ns3::TupleValue< Args >:Public Types | |
| typedef std::tuple< std::invoke_result_t< decltype(&Args::Get), Args >... > | result_type |
| Type returned by Get or passed in Set. | |
| typedef std::tuple< Args... > | value_type |
| Type of value stored in the TupleValue. | |
Public Member Functions | |
| TupleValue () | |
| TupleValue (const result_type &value) | |
| Construct this TupleValue from a std::tuple. | |
| Ptr< AttributeValue > | Copy () const override |
| bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker) override |
| result_type | Get () const |
| Get the stored values as a std::tuple. | |
| template<typename T > | |
| bool | GetAccessor (T &value) const |
| Set the given variable to the values stored by this TupleValue object. | |
| value_type | GetValue () const |
| Get the attribute values as a tuple. | |
| std::string | SerializeToString (Ptr< const AttributeChecker > checker) const override |
| void | Set (const result_type &value) |
| Set the stored values. | |
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<std::size_t... Is> | |
| bool | SetValueImpl (std::index_sequence< Is... >, const std::vector< Ptr< AttributeValue > > &values) |
| Set the attribute values starting from the given values. | |
Private Attributes | |
| value_type | m_value |
| Tuple of attribute values. | |
Hold objects of type std::tuple<Args...>.
AttributeValue implementation for Tuple.
| Args | [explicit] The list of AttributeValues to be held by this TupleValue |
| typedef std::tuple<std::invoke_result_t<decltype(&Args::Get), Args>...> ns3::TupleValue< Args >::result_type |
| typedef std::tuple<Args...> ns3::TupleValue< Args >::value_type |
Type of value stored in the TupleValue.
| ns3::TupleValue< Args >::TupleValue |
| ns3::TupleValue< Args >::TupleValue | ( | const result_type & | value | ) |
Construct this TupleValue from a std::tuple.
| [in] | value | Value with which to construct. |
|
overridevirtual |
Implements ns3::AttributeValue.
Definition at line 228 of file tuple.h.
References ns3::Create().
Here is the call 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.
| std::tuple< Args... > ns3::TupleValue< Args >::Get |
Get the stored values as a std::tuple.
This differs from the actual value stored in the object which is a tuple of Ptr<AV> where AV is a class derived from AttributeValue.
Definition at line 311 of file tuple.h.
Referenced by TupleValueTestCase::DoRun().
Here is the caller graph for this function:| bool ns3::TupleValue< Args >::GetAccessor | ( | T & | value | ) | const |
Set the given variable to the values stored by this TupleValue object.
Access the Tuple value as type T.
| T | [deduced] the type of the given variable (normally, the argument type of a set method or the type of a data member) |
| T | [explicit] The type to cast to. |
| [out] | value | The Tuple value, as type T. |
| TupleValue< Args... >::value_type ns3::TupleValue< Args >::GetValue |
|
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.
| void ns3::TupleValue< Args >::Set | ( | const result_type & | value | ) |
Set the stored values.
Set the value.
| [in] | value | The value to adopt. |
Definition at line 318 of file tuple.h.
Referenced by WifiPrimaryChannelsTest::DoSetup().
Here is the caller graph for this function:
|
private |
|
private |