Hold a value for an Attribute. More...
#include "attribute.h"
Public Member Functions | |
AttributeValue () | |
virtual | ~AttributeValue () |
virtual Ptr< AttributeValue > | Copy (void) 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 (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) 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 68 of file attribute.h.
ns3::AttributeValue::AttributeValue | ( | ) |
Definition at line 37 of file attribute.cc.
|
virtual |
Definition at line 39 of file attribute.cc.
|
pure virtual |
Implemented in ns3::TupleValue< Args >, ns3::WifiModeValue, ns3::SsidValue, ns3::OrganizationIdentifierValue, ns3::UanModesListValue, ns3::PriomapValue, ns3::QueueSizeValue, ns3::Mac64AddressValue, ns3::Mac48AddressValue, ns3::Mac16AddressValue, ns3::Ipv6PrefixValue, ns3::Ipv6AddressValue, ns3::Ipv4MaskValue, ns3::Ipv4AddressValue, ns3::DataRateValue, ns3::AddressValue, ns3::WaypointValue, ns3::RectangleValue, ns3::BoxValue, ns3::ValueClassTestValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::UintegerValue, ns3::TypeIdValue, ns3::StringValue, ns3::PointerValue, ns3::PairValue< A, B >, ns3::ObjectPtrContainerValue, ns3::ObjectFactoryValue, ns3::TimeValue, ns3::LengthValue, ns3::IntegerValue, ns3::EnumValue, ns3::DoubleValue, ns3::CallbackValue, ns3::BooleanValue, ns3::EmptyAttributeValue, and ns3::AttributeContainerValue< A, 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::TupleValue< Args >, ns3::WifiModeValue, ns3::SsidValue, ns3::OrganizationIdentifierValue, ns3::UanModesListValue, ns3::PriomapValue, ns3::QueueSizeValue, ns3::Mac64AddressValue, ns3::Mac48AddressValue, ns3::Mac16AddressValue, ns3::Ipv6PrefixValue, ns3::Ipv6AddressValue, ns3::Ipv4MaskValue, ns3::Ipv4AddressValue, ns3::DataRateValue, ns3::AddressValue, ns3::WaypointValue, ns3::RectangleValue, ns3::BoxValue, ns3::ValueClassTestValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::UintegerValue, ns3::TypeIdValue, ns3::StringValue, ns3::PointerValue, ns3::PairValue< A, B >, ns3::ObjectPtrContainerValue, ns3::ObjectFactoryValue, ns3::TimeValue, ns3::LengthValue, ns3::IntegerValue, ns3::EnumValue, ns3::DoubleValue, ns3::CallbackValue, ns3::BooleanValue, ns3::EmptyAttributeValue, and ns3::AttributeContainerValue< A, 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::TupleValue< Args >, ns3::WifiModeValue, ns3::SsidValue, ns3::OrganizationIdentifierValue, ns3::UanModesListValue, ns3::PriomapValue, ns3::QueueSizeValue, ns3::Mac64AddressValue, ns3::Mac48AddressValue, ns3::Mac16AddressValue, ns3::Ipv6PrefixValue, ns3::Ipv6AddressValue, ns3::Ipv4MaskValue, ns3::Ipv4AddressValue, ns3::DataRateValue, ns3::AddressValue, ns3::WaypointValue, ns3::RectangleValue, ns3::BoxValue, ns3::ValueClassTestValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::UintegerValue, ns3::TypeIdValue, ns3::StringValue, ns3::PointerValue, ns3::PairValue< A, B >, ns3::ObjectPtrContainerValue, ns3::ObjectFactoryValue, ns3::TimeValue, ns3::LengthValue, ns3::IntegerValue, ns3::EnumValue, ns3::DoubleValue, ns3::CallbackValue, ns3::BooleanValue, ns3::EmptyAttributeValue, and ns3::AttributeContainerValue< A, C >.