Hold a value for an Attribute. More...
#include "attribute.h"
Public Member Functions | |
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. 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... | |
Hold a value for an Attribute.
Instances of this class should always be wrapped into an Attribute object. Most subclasses of this base class are implemented by the ATTRIBUTE_HELPER_* macros.
Definition at line 69 of file attribute.h.
ns3::AttributeValue::AttributeValue | ( | ) |
Definition at line 39 of file attribute.cc.
|
virtual |
Definition at line 43 of file attribute.cc.
|
pure virtual |
Implemented in ns3::Vector2DValue, ns3::Vector3DValue, ns3::UintegerValue, ns3::TypeIdValue, ns3::TupleValue< Args >, ns3::StringValue, ns3::PointerValue, ns3::PairValue< A, B >, ns3::ObjectPtrContainerValue, ns3::ObjectFactoryValue, ns3::TimeValue, ns3::LengthValue, ns3::IntegerValue, ns3::EnumValue< T >, ns3::DoubleValue, ns3::CallbackValue, ns3::BooleanValue, ns3::EmptyAttributeValue, and ns3::AttributeContainerValue< A, Sep, C >.
Referenced by ns3::TypeId::AddAttribute().
|
pure 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.
Implemented in ns3::Vector2DValue, ns3::Vector3DValue, ns3::UintegerValue, ns3::TypeIdValue, ns3::TupleValue< Args >, ns3::StringValue, ns3::PointerValue, ns3::PairValue< A, B >, ns3::ObjectPtrContainerValue, ns3::ObjectFactoryValue, ns3::TimeValue, ns3::LengthValue, ns3::IntegerValue, ns3::EnumValue< T >, ns3::DoubleValue, ns3::CallbackValue, ns3::BooleanValue, ns3::EmptyAttributeValue, and ns3::AttributeContainerValue< A, Sep, C >.
|
pure 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.
Implemented in ns3::Vector2DValue, ns3::Vector3DValue, ns3::UintegerValue, ns3::TypeIdValue, ns3::TupleValue< Args >, ns3::StringValue, ns3::PointerValue, ns3::PairValue< A, B >, ns3::ObjectPtrContainerValue, ns3::ObjectFactoryValue, ns3::TimeValue, ns3::LengthValue, ns3::IntegerValue, ns3::EnumValue< T >, ns3::DoubleValue, ns3::CallbackValue, ns3::BooleanValue, ns3::EmptyAttributeValue, and ns3::AttributeContainerValue< A, Sep, C >.