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) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (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 40 of file attribute.cc.
|
pure virtual |
Implemented in ns3::CallbackValue, ns3::TimeValue, ns3::TypeIdValue, ns3::Ipv6PrefixValue, ns3::Ipv6AddressValue, ns3::Ipv4MaskValue, ns3::Ipv4AddressValue, ns3::UanModesListValue, ns3::AddressValue, ns3::WifiModeValue, ns3::DataRateValue, ns3::EmptyAttributeValue, ns3::QueueSizeValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::Mac48AddressValue, ns3::ObjectFactoryValue, ns3::Mac64AddressValue, ns3::Mac16AddressValue, ns3::OrganizationIdentifierValue, ns3::SsidValue, ns3::BoxValue, ns3::PriomapValue, ns3::RectangleValue, ns3::PointerValue, ns3::dot11s::IeMeshIdValue, ns3::ObjectPtrContainerValue, ValueClassTestValue, ns3::EnumValue, ns3::WaypointValue, ns3::BooleanValue, ns3::IntegerValue, ns3::UintegerValue, ns3::DoubleValue, and ns3::StringValue.
Referenced by ns3::TypeId::AddAttribute(), ns3::AttributeChecker::CreateValidValue(), and ns3::ObjectFactory::Set().
|
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::CallbackValue, ns3::TimeValue, ns3::TypeIdValue, ns3::Ipv6PrefixValue, ns3::Ipv6AddressValue, ns3::Ipv4MaskValue, ns3::Ipv4AddressValue, ns3::UanModesListValue, ns3::AddressValue, ns3::EmptyAttributeValue, ns3::WifiModeValue, ns3::DataRateValue, ns3::QueueSizeValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::Mac48AddressValue, ns3::ObjectFactoryValue, ns3::Mac64AddressValue, ns3::Mac16AddressValue, ns3::OrganizationIdentifierValue, ns3::SsidValue, ns3::BoxValue, ns3::PriomapValue, ns3::ObjectPtrContainerValue, ns3::RectangleValue, ns3::PointerValue, ns3::dot11s::IeMeshIdValue, ValueClassTestValue, ns3::EnumValue, ns3::WaypointValue, ns3::BooleanValue, ns3::IntegerValue, ns3::UintegerValue, ns3::DoubleValue, and ns3::StringValue.
Referenced by ns3::operator>>().
|
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::CallbackValue, ns3::TimeValue, ns3::TypeIdValue, ns3::Ipv6PrefixValue, ns3::Ipv6AddressValue, ns3::Ipv4MaskValue, ns3::Ipv4AddressValue, ns3::UanModesListValue, ns3::AddressValue, ns3::EmptyAttributeValue, ns3::WifiModeValue, ns3::DataRateValue, ns3::QueueSizeValue, ns3::Vector2DValue, ns3::Vector3DValue, ns3::Mac48AddressValue, ns3::ObjectFactoryValue, ns3::Mac64AddressValue, ns3::Mac16AddressValue, ns3::OrganizationIdentifierValue, ns3::SsidValue, ns3::BoxValue, ns3::PriomapValue, ns3::RectangleValue, ns3::ObjectPtrContainerValue, ns3::PointerValue, ns3::dot11s::IeMeshIdValue, ValueClassTestValue, ns3::EnumValue, ns3::WaypointValue, ns3::BooleanValue, ns3::IntegerValue, ns3::UintegerValue, ns3::DoubleValue, and ns3::StringValue.