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. | |
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. | |
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 58 of file attribute.h.
ns3::AttributeValue::AttributeValue | ( | ) |
Definition at line 28 of file attribute.cc.
|
virtual |
Definition at line 32 of file attribute.cc.
|
pure virtual |
Implemented in ns3::AddressValue, ns3::AttributeContainerValue< A, Sep, C >, ns3::BooleanValue, ns3::BoxValue, ns3::CallbackValue, ns3::DataRateValue, ns3::DoubleValue, ns3::EmptyAttributeValue, ns3::EnumValue< T >, ns3::IntegerValue, ns3::Ipv4AddressValue, ns3::Ipv4MaskValue, ns3::Ipv6AddressValue, ns3::Ipv6PrefixValue, ns3::LengthValue, ns3::Mac16AddressValue, ns3::Mac48AddressValue, ns3::Mac64AddressValue, ns3::ObjectFactoryValue, ns3::ObjectPtrContainerValue, ns3::PairValue< A, B >, ns3::PointerValue, ns3::PriomapValue, ns3::QueueSizeValue, ns3::RectangleValue, ns3::SsidValue, ns3::StringValue, ns3::TimeValue, ns3::TupleValue< Args >, ns3::TypeIdValue, ns3::UanModesListValue, ns3::UintegerValue, ns3::ValueClassTestValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::WaypointValue, and ns3::WifiModeValue.
Referenced by ns3::TypeId::AddAttribute(), and 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::AddressValue, ns3::AttributeContainerValue< A, Sep, C >, ns3::BooleanValue, ns3::BoxValue, ns3::CallbackValue, ns3::DataRateValue, ns3::DoubleValue, ns3::EmptyAttributeValue, ns3::EnumValue< T >, ns3::IntegerValue, ns3::Ipv4AddressValue, ns3::Ipv4MaskValue, ns3::Ipv6AddressValue, ns3::Ipv6PrefixValue, ns3::LengthValue, ns3::Mac16AddressValue, ns3::Mac48AddressValue, ns3::Mac64AddressValue, ns3::ObjectFactoryValue, ns3::ObjectPtrContainerValue, ns3::PairValue< A, B >, ns3::PointerValue, ns3::PriomapValue, ns3::QueueSizeValue, ns3::RectangleValue, ns3::SsidValue, ns3::StringValue, ns3::TimeValue, ns3::TupleValue< Args >, ns3::TypeIdValue, ns3::UanModesListValue, ns3::UintegerValue, ns3::ValueClassTestValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::WaypointValue, and ns3::WifiModeValue.
|
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::AddressValue, ns3::AttributeContainerValue< A, Sep, C >, ns3::BooleanValue, ns3::BoxValue, ns3::CallbackValue, ns3::DataRateValue, ns3::DoubleValue, ns3::EmptyAttributeValue, ns3::EnumValue< T >, ns3::IntegerValue, ns3::Ipv4AddressValue, ns3::Ipv4MaskValue, ns3::Ipv6AddressValue, ns3::Ipv6PrefixValue, ns3::LengthValue, ns3::Mac16AddressValue, ns3::Mac48AddressValue, ns3::Mac64AddressValue, ns3::ObjectFactoryValue, ns3::ObjectPtrContainerValue, ns3::PairValue< A, B >, ns3::PointerValue, ns3::PriomapValue, ns3::QueueSizeValue, ns3::RectangleValue, ns3::SsidValue, ns3::StringValue, ns3::TimeValue, ns3::TupleValue< Args >, ns3::TypeIdValue, ns3::UanModesListValue, ns3::UintegerValue, ns3::ValueClassTestValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::WaypointValue, and ns3::WifiModeValue.