Hold objects of type Ptr<T>. More...
#include "pointer.h"
Inheritance diagram for ns3::PointerValue:
Collaboration diagram for ns3::PointerValue:Public Member Functions | |
| PointerValue () | |
| template<typename T > | |
| PointerValue (const Ptr< T > &object) | |
| Construct this PointerValue by referencing an explicit Object. More... | |
| PointerValue (Ptr< Object > object) | |
| Construct this PointerValue by referencing an explicit Object. More... | |
| virtual Ptr< AttributeValue > | Copy (void) const |
| virtual bool | DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker) |
| template<typename T > | |
| Ptr< T > | Get (void) const |
| template<typename T > | |
| bool | GetAccessor (Ptr< T > &value) const |
Access the Pointer value as type T. More... | |
| Ptr< Object > | GetObject (void) const |
| Get the Object referenced by the PointerValue. More... | |
| template<typename T > | |
| operator Ptr< T > () const | |
Cast to an Object of type T. More... | |
| virtual std::string | SerializeToString (Ptr< const AttributeChecker > checker) const |
| template<typename T > | |
| void | Set (const Ptr< T > &value) |
| Set the value. More... | |
| void | SetObject (Ptr< Object > object) |
| Set the value from by reference an Object. More... | |
Public Member Functions inherited from ns3::AttributeValue | |
| 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... | |
Private Attributes | |
| Ptr< Object > | m_value |
| The stored Pointer instance. More... | |
| ns3::PointerValue::PointerValue | ( | ) |
Definition at line 35 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 41 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 187 of file pointer.h.
References m_value.
|
virtual |
Implements ns3::AttributeValue.
Definition at line 62 of file pointer.cc.
References NS_LOG_FUNCTION.
|
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.
Implements ns3::AttributeValue.
Definition at line 77 of file pointer.cc.
References ns3::ObjectFactory::Create(), m_value, and NS_LOG_FUNCTION.
Here is the call graph for this function:| Pointer ns3::PointerValue::Get | ( | void | ) | const |
| T | [explicit] The type to cast to. |
Definition at line 201 of file pointer.h.
References m_value, and ns3::PeekPointer().
Referenced by ns3::MeshHelper::AssignStreams(), ns3::WaveHelper::AssignStreams(), ns3::WifiHelper::AssignStreams(), ns3::RandomVariableStreamHelper::AssignStreams(), AssignWifiRandomStreams(), TcFlowControlTestCase::CheckPacketsInDeviceQueue(), TestInterBssConstantObssPdAlgo::CheckPhyState(), TestAmpduReception::CheckPhyState(), TestDlOfdmaPhyTransmission::DoCheckPhyState(), TestUlOfdmaPhyTransmission::DoCheckPhyState(), TestThresholdPreambleDetectionWithoutFrameCapture::DoCheckPhyState(), TestThresholdPreambleDetectionWithFrameCapture::DoCheckPhyState(), TestPhyHeadersReception::DoCheckPhyState(), ns3::AttributeIterator::DoIterate(), ns3::Config::Resolver::DoResolve(), PointerAttributeTestCase::DoRun(), LteUplinkClosedLoopPowerControlAbsoluteModeTestCase::DoRun(), LteUplinkClosedLoopPowerControlAccumulatedModeTestCase::DoRun(), WifiAcMappingTest::DoRun(), BlockAckAggregationDisabledTest::DoRun(), OfdmaAckSequenceTest::DoRun(), QosFragmentationTestCase::DoRun(), WifiTxopTest::DoRun(), Experiment::Run(), and Issue40TestCase::RunOne().
Here is the call graph for this function:
Here is the caller graph for this function:| 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 215 of file pointer.h.
References m_value, and ns3::PeekPointer().
Here is the call graph for this function:Get the Object referenced by the PointerValue.
Definition at line 55 of file pointer.cc.
References m_value, and NS_LOG_FUNCTION.
Referenced by ns3::cell_tooltip_callback(), ns3::internal::PointerChecker< T >::Check(), LteCqiGenerationDlPowerControlTestCase::DoRun(), LteDownlinkPowerControlTestCase::DoRun(), LteDownlinkPowerControlRrcConnectionReconfigurationTestCase::DoRun(), LteUplinkClosedLoopPowerControlAbsoluteModeTestCase::DoRun(), and LteUplinkClosedLoopPowerControlAccumulatedModeTestCase::DoRun().
Here is the caller graph for this function:| ns3::PointerValue::operator Ptr< T > |
|
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.
Implements ns3::AttributeValue.
Definition at line 68 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 48 of file pointer.cc.
References m_value, and NS_LOG_FUNCTION.
|
private |
The stored Pointer instance.
Definition at line 93 of file pointer.h.
Referenced by PointerValue(), DeserializeFromString(), Get(), GetAccessor(), GetObject(), SerializeToString(), Set(), and SetObject().