AttributeValue implementation for Pointer. More...
#include "pointer.h"
Public Member Functions | |
PointerValue () | |
PointerValue (const Ptr< Object > &object) | |
Construct this PointerValue by referencing an explicit Object. | |
template<typename T > | |
PointerValue (const Ptr< T > &object) | |
Construct this PointerValue by referencing an explicit Object. | |
Ptr< AttributeValue > | Copy () const override |
bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker) override |
template<typename T > | |
Ptr< T > | Get () const |
template<typename T > | |
bool | GetAccessor (Ptr< T > &value) const |
Access the Pointer value as type T . | |
Ptr< Object > | GetObject () const |
Get the Object referenced by the PointerValue. | |
template<typename T > | |
operator Ptr< T > () const | |
Cast to an Object of type T . | |
std::string | SerializeToString (Ptr< const AttributeChecker > checker) const override |
template<typename T > | |
void | Set (const Ptr< T > &value) |
Set the value. | |
void | SetObject (Ptr< Object > object) |
Set the value from by reference an Object. | |
Public Member Functions inherited from ns3::AttributeValue | |
AttributeValue () | |
virtual | ~AttributeValue () |
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 | |
Ptr< Object > | m_value |
The stored Pointer instance. | |
ns3::PointerValue::PointerValue | ( | ) |
Definition at line 26 of file pointer.cc.
References NS_LOG_FUNCTION.
Construct this PointerValue by referencing an explicit Object.
[in] | object | The object to begin with. |
Definition at line 32 of file pointer.cc.
References NS_LOG_FUNCTION.
ns3::PointerValue::PointerValue | ( | const Ptr< T > & | object | ) |
Construct this PointerValue by referencing an explicit Object.
T | [deduced] The type of the object. |
[in] | object | The object to begin with. |
Definition at line 209 of file pointer.h.
References m_value.
|
overridevirtual |
Implements ns3::AttributeValue.
Definition at line 53 of file pointer.cc.
References ns3::Create(), and 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 69 of file pointer.cc.
References ns3::ObjectFactory::Create(), m_value, and NS_LOG_FUNCTION.
Ptr< T > ns3::PointerValue::Get | ( | ) | const |
T | [explicit] The type to cast to. |
Definition at line 223 of file pointer.h.
References m_value, and ns3::PeekPointer().
Referenced by ns3::MeshHelper::AssignStreams(), ns3::RandomVariableStreamHelper::AssignStreams(), ns3::WifiHelper::AssignStreams(), AssignWifiRandomStreams(), TcFlowControlTestCase::CheckPacketsInDeviceQueue(), TestAmpduReception::CheckPhyState(), TestInterBssConstantObssPdAlgo::CheckPhyState(), SpectrumWifiPhyMultipleInterfacesTest::CheckRxingState(), SpectrumWifiPhyMultipleInterfacesTest::DoCheckInterferences(), TestDlMuMimoPhyTransmission::DoCheckPhyState(), TestDlOfdmaPhyPuncturing::DoCheckPhyState(), TestDlOfdmaPhyTransmission::DoCheckPhyState(), TestUlMuMimoPhyTransmission::DoCheckPhyState(), TestUlOfdmaPhyTransmission::DoCheckPhyState(), WifiPhyCcaIndicationTest::DoCheckPhyState(), WifiPhyReceptionTest::DoCheckPhyState(), ns3::AttributeIterator::DoIterate(), ns3::Config::Resolver::DoResolve(), BlockAckAggregationDisabledTest::DoRun(), LteUplinkClosedLoopPowerControlAbsoluteModeTestCase::DoRun(), LteUplinkClosedLoopPowerControlAccumulatedModeTestCase::DoRun(), PointerAttributeTestCase::DoRun(), QosFragmentationTestCase::DoRun(), WifiAcMappingTest::DoRun(), Experiment::Run(), Issue40TestCase::RunOne(), and SpectrumWifiPhyTrackedBandsTest::VerifyTrackedBands().
bool ns3::PointerValue::GetAccessor | ( | Ptr< T > & | value | ) | const |
Access the Pointer value as type T
.
T | [explicit] The type to cast to. |
[out] | value | The Pointer value, as type T . |
Definition at line 237 of file pointer.h.
References m_value, and ns3::PeekPointer().
Get the Object referenced by the PointerValue.
Definition at line 46 of file pointer.cc.
References m_value, and NS_LOG_FUNCTION.
Referenced by ns3::cell_tooltip_callback(), LteCqiGenerationDlPowerControlTestCase::DoRun(), LteDownlinkPowerControlRrcConnectionReconfigurationTestCase::DoRun(), LteDownlinkPowerControlTestCase::DoRun(), LteUplinkClosedLoopPowerControlAbsoluteModeTestCase::DoRun(), and LteUplinkClosedLoopPowerControlAccumulatedModeTestCase::DoRun().
ns3::PointerValue::operator Ptr< T > | ( | ) | 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 60 of file pointer.cc.
References m_value, and NS_LOG_FUNCTION.
void ns3::PointerValue::Set | ( | const Ptr< T > & | value | ) |
Set the value from by reference an Object.
[in] | object | The object to reference. |
Definition at line 39 of file pointer.cc.
References m_value, and NS_LOG_FUNCTION.
The stored Pointer instance.
Definition at line 105 of file pointer.h.
Referenced by PointerValue(), DeserializeFromString(), Get(), GetAccessor(), GetObject(), SerializeToString(), Set(), and SetObject().