Hold variables of type enum
.
More...
#include "enum.h"
Public Member Functions | |
EnumValue () | |
EnumValue (int value) | |
Construct from an explicit value. | |
Ptr< AttributeValue > | Copy () const override |
bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker) override |
int | Get () const |
template<typename T > | |
bool | GetAccessor (T &value) const |
Access the Enum value as type T . | |
std::string | SerializeToString (Ptr< const AttributeChecker > checker) const override |
void | Set (int value) |
Set the value. | |
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 Attributes | |
int | m_value |
The stored integer value. | |
Hold variables of type enum
.
AttributeValue implementation for Enum.
This class can be used to hold variables of any kind of enum.
This is often used with ObjectFactory and Config to bind the value of a particular enum to an Attribute or Config name. For example,
ns3::EnumValue::EnumValue | ( | ) |
Definition at line 39 of file enum.cc.
References NS_LOG_FUNCTION.
ns3::EnumValue::EnumValue | ( | int | value | ) |
Construct from an explicit value.
[in] | value | The value to begin with. |
Definition at line 45 of file enum.cc.
References NS_LOG_FUNCTION.
|
overridevirtual |
Implements ns3::AttributeValue.
Definition at line 66 of file enum.cc.
References NS_LOG_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.
Definition at line 83 of file enum.cc.
References ns3::EnumChecker::GetValue(), m_value, NS_ASSERT, NS_LOG_FUNCTION, and ns3::PeekPointer().
int ns3::EnumValue::Get | ( | ) | const |
Definition at line 59 of file enum.cc.
References m_value, and NS_LOG_FUNCTION.
Referenced by ns3::EnumChecker::Check(), and ns3::LteHelper::InstallSingleEnbDevice().
bool ns3::EnumValue::GetAccessor | ( | T & | value | ) | const |
|
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.
Definition at line 73 of file enum.cc.
References ns3::EnumChecker::GetName(), m_value, NS_ASSERT, NS_LOG_FUNCTION, and ns3::PeekPointer().
void ns3::EnumValue::Set | ( | int | value | ) |
Set the value.
[in] | value | The value to adopt. |
Definition at line 52 of file enum.cc.
References m_value, and NS_LOG_FUNCTION.
|
private |
The stored integer value.
The stored Enum instance.
Definition at line 75 of file enum.h.
Referenced by DeserializeFromString(), Get(), GetAccessor(), SerializeToString(), and Set().