A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
Double Attribute

AttributeValue implementation for Double More...

+ Collaboration diagram for Double Attribute:

Files

file  double.cc
 ns3::DoubleValue attribute value implementation.
 
file  double.h
 ns3::DoubleValue attribute value declarations and template implementations.
 

Classes

class  DoubleChecker
 AttributeChecker implementation for DoubleValue. More...
 
class  ns3::DoubleValue
 This class can be used to hold variables of floating point type such as 'double' or 'float'. More...
 

Functions

template<typename T1 >
Ptr< const AttributeAccessorns3::MakeDoubleAccessor (T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
 
template<typename T1 , typename T2 >
Ptr< const AttributeAccessorns3::MakeDoubleAccessor (T1 a1, T2 a2)
 Create an AttributeAccessor using a pair of get functor and set methods from a class.
 
Ptr< const AttributeCheckerns3::internal::MakeDoubleChecker (double min, double max, std::string name)
 Make a Double attribute checker with embedded numeric type name.
 
template<typename T >
Ptr< const AttributeCheckerns3::MakeDoubleChecker ()
 

Detailed Description

AttributeValue implementation for Double

Function Documentation

◆ MakeDoubleAccessor() [1/2]

template<typename T1 >
Ptr< const AttributeAccessor > ns3::MakeDoubleAccessor ( T1 a1)

Create an AttributeAccessor for a class data member, or a lone class get functor or set method.

The get functor method should have a signature like

typedef U (T::*getter)() const

where T is the class and U is the type of the return value.

The set method should have one of these signatures:

typedef void (T::*setter)(U)
typedef bool (T::*setter)(U)

where T is the class and U is the type of the value to set the attribute to, which should be compatible with the specific AttributeValue type V which holds the value (or the type implied by the name Make<V>Accessor of this function.) In the case of a setter returning bool, the return value should be true if the value could be set successfully.

Template Parameters
V[explicit] (If present) The specific AttributeValue type to use to represent the Attribute. (If not present, the type V is implicit in the name of this function, as "Make<V>Accessor"
T1[deduced] The type of the class data member, or the type of the class get functor or set method.
Parameters
[in]a1The address of the data member, or the get or set method.
Returns
The AttributeAccessor
See also
AttributeAccessor

Definition at line 32 of file double.h.

Referenced by AttributeObjectTest::GetTypeId(), ns3::A3RsrpHandoverAlgorithm::GetTypeId(), ns3::AarfcdWifiManager::GetTypeId(), ns3::AarfWifiManager::GetTypeId(), ns3::AcousticModemEnergyModel::GetTypeId(), ns3::AmrrWifiManager::GetTypeId(), ns3::BernoulliRandomVariable::GetTypeId(), ns3::BinomialRandomVariable::GetTypeId(), ns3::BuildingsPropagationLossModel::GetTypeId(), ns3::BurstErrorModel::GetTypeId(), ns3::CircularApertureAntennaModel::GetTypeId(), ns3::CobaltQueueDisc::GetTypeId(), ns3::ConstantRandomVariable::GetTypeId(), ns3::ConstantSpectrumPropagationLossModel::GetTypeId(), ns3::ConstantSpeedPropagationDelayModel::GetTypeId(), ns3::CosineAntennaModel::GetTypeId(), ns3::Cost231PropagationLossModel::GetTypeId(), ns3::dsdv::RoutingProtocol::GetTypeId(), ns3::energy::BasicEnergySource::GetTypeId(), ns3::energy::GenericBatteryModel::GetTypeId(), ns3::energy::LiIonEnergySource::GetTypeId(), ns3::energy::RvBatteryModel::GetTypeId(), ns3::ErlangRandomVariable::GetTypeId(), ns3::ExponentialRandomVariable::GetTypeId(), ns3::FixedRssLossModel::GetTypeId(), ns3::FlowMonitor::GetTypeId(), ns3::FqCobaltQueueDisc::GetTypeId(), ns3::FqPieQueueDisc::GetTypeId(), ns3::FriisPropagationLossModel::GetTypeId(), ns3::GammaRandomVariable::GetTypeId(), ns3::GaussMarkovMobilityModel::GetTypeId(), ns3::GridBuildingAllocator::GetTypeId(), ns3::GridPositionAllocator::GetTypeId(), ns3::HybridBuildingsPropagationLossModel::GetTypeId(), ns3::IdealWifiManager::GetTypeId(), ns3::IsotropicAntennaModel::GetTypeId(), ns3::ItuR1238PropagationLossModel::GetTypeId(), ns3::ItuR1411LosPropagationLossModel::GetTypeId(), ns3::ItuR1411NlosOverRooftopPropagationLossModel::GetTypeId(), ns3::JakesProcess::GetTypeId(), ns3::LaplacianRandomVariable::GetTypeId(), ns3::LargestExtremeValueRandomVariable::GetTypeId(), ns3::LinearWifiTxCurrentModel::GetTypeId(), ns3::LogDistancePropagationLossModel::GetTypeId(), ns3::LogNormalRandomVariable::GetTypeId(), ns3::LteAmc::GetTypeId(), ns3::LteEnbPhy::GetTypeId(), ns3::LteHexGridEnbTopologyHelper::GetTypeId(), ns3::LteUePhy::GetTypeId(), ns3::LteUePowerControl::GetTypeId(), ns3::MatrixPropagationLossModel::GetTypeId(), ns3::NakagamiPropagationLossModel::GetTypeId(), ns3::NormalRandomVariable::GetTypeId(), ns3::NullMessageSimulatorImpl::GetTypeId(), ns3::ObssPdAlgorithm::GetTypeId(), ns3::OkumuraHataPropagationLossModel::GetTypeId(), ns3::ParabolicAntennaModel::GetTypeId(), ns3::ParetoRandomVariable::GetTypeId(), ns3::PieQueueDisc::GetTypeId(), ns3::RadioEnvironmentMapHelper::GetTypeId(), ns3::RandomDiscPositionAllocator::GetTypeId(), ns3::RandomRectanglePositionAllocator::GetTypeId(), ns3::RandomWalk2dMobilityModel::GetTypeId(), ns3::RandomWalk2dOutdoorMobilityModel::GetTypeId(), ns3::RangePropagationLossModel::GetTypeId(), ns3::RateErrorModel::GetTypeId(), ns3::RedQueueDisc::GetTypeId(), ns3::RraaWifiManager::GetTypeId(), ns3::RrpaaWifiManager::GetTypeId(), ns3::RttMeanDeviation::GetTypeId(), ns3::SequentialRandomVariable::GetTypeId(), ns3::SimpleFrameCaptureModel::GetTypeId(), ns3::SimpleOfdmWimaxPhy::GetTypeId(), ns3::SnrTag::GetTypeId(), ns3::SpectrumAnalyzer::GetTypeId(), ns3::SpectrumChannel::GetTypeId(), ns3::SpectrumWifiPhy::GetTypeId(), ns3::SteadyStateRandomWaypointMobilityModel::GetTypeId(), ns3::TcpBbr::GetTypeId(), ns3::TcpBic::GetTypeId(), ns3::TcpCubic::GetTypeId(), ns3::TcpDctcp::GetTypeId(), ns3::TcpHtcp::GetTypeId(), ns3::TcpIllinois::GetTypeId(), ns3::TcpLedbat::GetTypeId(), ns3::TcpScalable::GetTypeId(), ns3::TcpSocketBase::GetTypeId(), ns3::ThompsonSamplingWifiManager::GetTypeId(), ns3::ThreeGppChannelConditionModel::GetTypeId(), ns3::ThreeGppChannelModel::GetTypeId(), ns3::ThreeGppHttpVariables::GetTypeId(), ns3::ThreeGppPropagationLossModel::GetTypeId(), ns3::ThreeGppRmaPropagationLossModel::GetTypeId(), ns3::ThreeGppV2vUrbanPropagationLossModel::GetTypeId(), ns3::ThreeLogDistancePropagationLossModel::GetTypeId(), ns3::ThresholdPreambleDetectionModel::GetTypeId(), ns3::TriangularRandomVariable::GetTypeId(), ns3::TvSpectrumTransmitter::GetTypeId(), ns3::TwoRayGroundPropagationLossModel::GetTypeId(), ns3::TwoRaySpectrumPropagationLossModel::GetTypeId(), ns3::UanMacRc::GetTypeId(), ns3::UanMacRcGw::GetTypeId(), ns3::UanNoiseModelDefault::GetTypeId(), ns3::UanPhyDual::GetTypeId(), ns3::UanPhyGen::GetTypeId(), ns3::UanPhyPerGenDefault::GetTypeId(), ns3::UanPropModelThorp::GetTypeId(), ns3::UanTransducerHd::GetTypeId(), ns3::UniformDiscPositionAllocator::GetTypeId(), ns3::UniformPlanarArray::GetTypeId(), ns3::UniformRandomVariable::GetTypeId(), ns3::WaveformGenerator::GetTypeId(), ns3::WeibullRandomVariable::GetTypeId(), ns3::WifiDefaultAckManager::GetTypeId(), ns3::WifiPhy::GetTypeId(), ns3::WifiRadioEnergyModel::GetTypeId(), ns3::ZetaRandomVariable::GetTypeId(), ns3::zigbee::ZigbeeNwk::GetTypeId(), and ns3::ZipfRandomVariable::GetTypeId().

◆ MakeDoubleAccessor() [2/2]

template<typename T1 , typename T2 >
Ptr< const AttributeAccessor > ns3::MakeDoubleAccessor ( T1 a1,
T2 a2 )

Create an AttributeAccessor using a pair of get functor and set methods from a class.

The get functor method should have a signature like

typedef U (T::*getter)() const

where T is the class and U is the type of the return value.

The set method should have one of these signatures:

typedef void (T::*setter)(U)
typedef bool (T::*setter)(U)

where T is the class and U is the type of the value to set the attribute to, which should be compatible with the specific AttributeValue type V which holds the value (or the type implied by the name Make<V>Accessor of this function.) In the case of a setter returning bool, the return value should be true if the value could be set successfully.

In practice the setter and getter arguments can appear in either order, but setter first is preferred.

Template Parameters
V[explicit] (If present) The specific AttributeValue type to use to represent the Attribute. (If not present, the type V is implicit in the name of this function as "Make<V>Accessor"
T1[deduced] The type of the class data member, or the type of the class get functor or set method.
T2[deduced] The type of the getter class functor method.
Parameters
[in]a2The address of the class method to set the attribute.
[in]a1The address of the data member, or the get or set method.
Returns
The AttributeAccessor
See also
AttributeAccessor

Definition at line 32 of file double.h.

◆ MakeDoubleChecker() [1/2]

Ptr< const AttributeChecker > ns3::internal::MakeDoubleChecker ( double min,
double max,
std::string name )

Make a Double attribute checker with embedded numeric type name.

Parameters
[in]minThe minimum allowed value.
[in]maxThe maximum allowed value.
[in]nameThe original type name ("float", "double").
Returns
The AttributeChecker.

Definition at line 42 of file double.cc.

References ns3::Copy(), ns3::Create(), ns3::DoubleValue::Get(), NS_LOG_FUNCTION, and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::MakeDoubleChecker(), ns3::MakeDoubleChecker(), and ns3::MakeDoubleChecker().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MakeDoubleChecker() [2/2]

template<typename T >
Ptr< const AttributeChecker > ns3::MakeDoubleChecker ( )
Returns
The AttributeChecker.
See also
AttributeChecker

Definition at line 82 of file double.h.

References ns3::internal::MakeDoubleChecker(), and ns3::TypeNameGet().

Referenced by AttributeContainerSerializationTestCase::DoRun(), AttributeContainerObject::GetTypeId(), AttributeObjectTest::GetTypeId(), ns3::A3RsrpHandoverAlgorithm::GetTypeId(), ns3::AarfcdWifiManager::GetTypeId(), ns3::AarfWifiManager::GetTypeId(), ns3::AcousticModemEnergyModel::GetTypeId(), ns3::AmrrWifiManager::GetTypeId(), ns3::BernoulliRandomVariable::GetTypeId(), ns3::BinomialRandomVariable::GetTypeId(), ns3::BuildingsPropagationLossModel::GetTypeId(), ns3::BurstErrorModel::GetTypeId(), ns3::CircularApertureAntennaModel::GetTypeId(), ns3::CobaltQueueDisc::GetTypeId(), ns3::ConstantRandomVariable::GetTypeId(), ns3::ConstantSpectrumPropagationLossModel::GetTypeId(), ns3::ConstantSpeedPropagationDelayModel::GetTypeId(), ns3::CosineAntennaModel::GetTypeId(), ns3::Cost231PropagationLossModel::GetTypeId(), ns3::dsdv::RoutingProtocol::GetTypeId(), ns3::energy::BasicEnergySource::GetTypeId(), ns3::energy::GenericBatteryModel::GetTypeId(), ns3::energy::LiIonEnergySource::GetTypeId(), ns3::energy::RvBatteryModel::GetTypeId(), ns3::ErlangRandomVariable::GetTypeId(), ns3::ExponentialRandomVariable::GetTypeId(), ns3::FixedRssLossModel::GetTypeId(), ns3::FlowMonitor::GetTypeId(), ns3::FqCobaltQueueDisc::GetTypeId(), ns3::FqPieQueueDisc::GetTypeId(), ns3::FriisPropagationLossModel::GetTypeId(), ns3::GammaRandomVariable::GetTypeId(), ns3::GaussMarkovMobilityModel::GetTypeId(), ns3::GridBuildingAllocator::GetTypeId(), ns3::GridPositionAllocator::GetTypeId(), ns3::HybridBuildingsPropagationLossModel::GetTypeId(), ns3::IdealWifiManager::GetTypeId(), ns3::IsotropicAntennaModel::GetTypeId(), ns3::ItuR1238PropagationLossModel::GetTypeId(), ns3::ItuR1411LosPropagationLossModel::GetTypeId(), ns3::ItuR1411NlosOverRooftopPropagationLossModel::GetTypeId(), ns3::JakesProcess::GetTypeId(), ns3::LaplacianRandomVariable::GetTypeId(), ns3::LargestExtremeValueRandomVariable::GetTypeId(), ns3::LinearWifiTxCurrentModel::GetTypeId(), ns3::LogDistancePropagationLossModel::GetTypeId(), ns3::LogNormalRandomVariable::GetTypeId(), ns3::LteAmc::GetTypeId(), ns3::LteEnbPhy::GetTypeId(), ns3::LteHexGridEnbTopologyHelper::GetTypeId(), ns3::LteUePhy::GetTypeId(), ns3::LteUePowerControl::GetTypeId(), ns3::MatrixPropagationLossModel::GetTypeId(), ns3::NakagamiPropagationLossModel::GetTypeId(), ns3::NormalRandomVariable::GetTypeId(), ns3::NullMessageSimulatorImpl::GetTypeId(), ns3::ObssPdAlgorithm::GetTypeId(), ns3::OkumuraHataPropagationLossModel::GetTypeId(), ns3::ParabolicAntennaModel::GetTypeId(), ns3::ParetoRandomVariable::GetTypeId(), ns3::PieQueueDisc::GetTypeId(), ns3::RadioEnvironmentMapHelper::GetTypeId(), ns3::RandomDiscPositionAllocator::GetTypeId(), ns3::RandomRectanglePositionAllocator::GetTypeId(), ns3::RandomWalk2dMobilityModel::GetTypeId(), ns3::RandomWalk2dOutdoorMobilityModel::GetTypeId(), ns3::RangePropagationLossModel::GetTypeId(), ns3::RateErrorModel::GetTypeId(), ns3::RedQueueDisc::GetTypeId(), ns3::RraaWifiManager::GetTypeId(), ns3::RrpaaWifiManager::GetTypeId(), ns3::RttMeanDeviation::GetTypeId(), ns3::SequentialRandomVariable::GetTypeId(), ns3::SimpleFrameCaptureModel::GetTypeId(), ns3::SimpleOfdmWimaxPhy::GetTypeId(), ns3::SnrTag::GetTypeId(), ns3::SpectrumAnalyzer::GetTypeId(), ns3::SpectrumChannel::GetTypeId(), ns3::SpectrumWifiPhy::GetTypeId(), ns3::SteadyStateRandomWaypointMobilityModel::GetTypeId(), ns3::TcpBbr::GetTypeId(), ns3::TcpBic::GetTypeId(), ns3::TcpCubic::GetTypeId(), ns3::TcpDctcp::GetTypeId(), ns3::TcpHtcp::GetTypeId(), ns3::TcpIllinois::GetTypeId(), ns3::TcpLedbat::GetTypeId(), ns3::TcpScalable::GetTypeId(), ns3::TcpSocketBase::GetTypeId(), ns3::ThompsonSamplingWifiManager::GetTypeId(), ns3::ThreeGppChannelConditionModel::GetTypeId(), ns3::ThreeGppChannelModel::GetTypeId(), ns3::ThreeGppHttpVariables::GetTypeId(), ns3::ThreeGppPropagationLossModel::GetTypeId(), ns3::ThreeGppRmaPropagationLossModel::GetTypeId(), ns3::ThreeGppV2vUrbanPropagationLossModel::GetTypeId(), ns3::ThreeLogDistancePropagationLossModel::GetTypeId(), ns3::ThresholdPreambleDetectionModel::GetTypeId(), ns3::TriangularRandomVariable::GetTypeId(), ns3::TvSpectrumTransmitter::GetTypeId(), ns3::TwoRayGroundPropagationLossModel::GetTypeId(), ns3::TwoRaySpectrumPropagationLossModel::GetTypeId(), ns3::UanMacRc::GetTypeId(), ns3::UanMacRcGw::GetTypeId(), ns3::UanNoiseModelDefault::GetTypeId(), ns3::UanPhyDual::GetTypeId(), ns3::UanPhyGen::GetTypeId(), ns3::UanPhyPerGenDefault::GetTypeId(), ns3::UanPropModelThorp::GetTypeId(), ns3::UanTransducerHd::GetTypeId(), ns3::UniformDiscPositionAllocator::GetTypeId(), ns3::UniformPlanarArray::GetTypeId(), ns3::UniformRandomVariable::GetTypeId(), ns3::VhtConfiguration::GetTypeId(), ns3::WaveformGenerator::GetTypeId(), ns3::WeibullRandomVariable::GetTypeId(), ns3::WifiDefaultAckManager::GetTypeId(), ns3::WifiPhy::GetTypeId(), ns3::WifiRadioEnergyModel::GetTypeId(), ns3::ZetaRandomVariable::GetTypeId(), ns3::zigbee::ZigbeeNwk::GetTypeId(), ns3::ZipfRandomVariable::GetTypeId(), PairObject::GetTypeId(), and TupleObject::GetTypeId().

+ Here is the call graph for this function: