Attribute implementation for Uinteger. More...
Files | |
file | uinteger.cc |
Uinteger attribute value implementations. | |
file | uinteger.h |
Unsigned integer attribute value declarations and template implementations. | |
Classes | |
class | ns3::UintegerChecker |
AttributeChecker implementation for UintegerValue. More... | |
class | ns3::UintegerValue |
Hold an unsigned integer type. More... | |
Functions | |
template<typename T1 > | |
Ptr< const AttributeAccessor > | ns3::MakeUintegerAccessor (T1 a1) |
Create an AttributeAccessor for a class data member, or a lone class get functor or set method. More... | |
template<typename T1 , typename T2 > | |
Ptr< const AttributeAccessor > | ns3::MakeUintegerAccessor (T1 a1, T2 a2) |
Create an AttributeAccessor using a pair of get functor and set methods from a class. More... | |
template<typename T > | |
Ptr< const AttributeChecker > | ns3::MakeUintegerChecker (void) |
Ptr< const AttributeChecker > | ns3::internal::MakeUintegerChecker (uint64_t min, uint64_t max, std::string name) |
Make an Uinteger attribute checker with embedded numeric type name. More... | |
Attribute implementation for Uinteger.
ns3::Ptr< const ns3::AttributeAccessor > ns3::MakeUintegerAccessor | ( | 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
where T
is the class and U
is the type of the return value.
The set method should have one of these signatures:
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.
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. |
[in] | a1 | The address of the data member, or the get or set method. |
Definition at line 45 of file uinteger.h.
Referenced by MyTag::GetTypeId(), ns3::Ipv4RawSocketImpl::GetTypeId(), ns3::Dcf::GetTypeId(), ns3::MpduStandardAggregator::GetTypeId(), ns3::MsduStandardAggregator::GetTypeId(), ns3::LteRadioBearerTag::GetTypeId(), ns3::EpsBearerTag::GetTypeId(), ns3::AmpduTag::GetTypeId(), ns3::LteRlcTm::GetTypeId(), ns3::LteRlcUm::GetTypeId(), ns3::WimaxMacQueue::GetTypeId(), Sender::GetTypeId(), ns3::AarfWifiManager::GetTypeId(), ns3::DropTailQueue::GetTypeId(), ns3::LteFfrDistributedAlgorithm::GetTypeId(), ns3::Building::GetTypeId(), ns3::AarfcdWifiManager::GetTypeId(), ns3::CaraWifiManager::GetTypeId(), ns3::TcpNewReno::GetTypeId(), ns3::AmrrWifiManager::GetTypeId(), ns3::RraaWifiManager::GetTypeId(), ns3::StaWifiMac::GetTypeId(), ns3::TcpReno::GetTypeId(), ns3::dot11s::AirtimeLinkMetricCalculator::GetTypeId(), ns3::OnoeWifiManager::GetTypeId(), ns3::UdpEchoClient::GetTypeId(), ns3::LteHexGridEnbTopologyHelper::GetTypeId(), ns3::PcapFileWrapper::GetTypeId(), ns3::ArfWifiManager::GetTypeId(), ns3::LteFrHardAlgorithm::GetTypeId(), ns3::ParfWifiManager::GetTypeId(), ns3::dot11s::PeerLink::GetTypeId(), ns3::LteFfrSoftAlgorithm::GetTypeId(), ns3::LteFrSoftAlgorithm::GetTypeId(), ns3::LteFrStrictAlgorithm::GetTypeId(), ns3::TcpTahoe::GetTypeId(), ns3::AparfWifiManager::GetTypeId(), ns3::TraceFadingLossModel::GetTypeId(), ns3::dot11s::HwmpProtocol::GetTypeId(), ns3::Channel::GetTypeId(), ns3::V4Ping::GetTypeId(), ns3::UdpEchoServer::GetTypeId(), ns3::LteFfrEnhancedAlgorithm::GetTypeId(), ns3::UdpClient::GetTypeId(), ns3::LteNetDevice::GetTypeId(), ns3::GridBuildingAllocator::GetTypeId(), ns3::Ping6::GetTypeId(), ns3::Ipv6Option::GetTypeId(), ns3::LteFfrSimple::GetTypeId(), ns3::MeshPointDevice::GetTypeId(), ns3::UdpServer::GetTypeId(), ns3::TcpSocket::GetTypeId(), ns3::UdpSocket::GetTypeId(), ns3::dot11s::PeerManagementProtocol::GetTypeId(), ns3::WifiMacQueue::GetTypeId(), ns3::WifiNetDevice::GetTypeId(), ns3::SimpleOfdmWimaxPhy::GetTypeId(), ns3::LteUeNetDevice::GetTypeId(), ns3::LteEnbNetDevice::GetTypeId(), ns3::Ipv6Extension::GetTypeId(), ns3::NdiscCache::GetTypeId(), ns3::aodv::RoutingProtocol::GetTypeId(), ns3::dsdv::RoutingProtocol::GetTypeId(), ns3::UanMacCw::GetTypeId(), ns3::RadioEnvironmentMapHelper::GetTypeId(), ns3::PacketSocketClient::GetTypeId(), ns3::LteEnbMac::GetTypeId(), ns3::LteSignalingRadioBearerInfo::GetTypeId(), ns3::UdpTraceClient::GetTypeId(), ns3::Node::GetTypeId(), ns3::JakesProcess::GetTypeId(), ns3::BaseStationNetDevice::GetTypeId(), ns3::LteFfrAlgorithm::GetTypeId(), ns3::QosTag::GetTypeId(), ns3::IpL4Protocol::GetTypeId(), ns3::WimaxPhy::GetTypeId(), ns3::SubscriberStationNetDevice::GetTypeId(), ns3::CsmaNetDevice::GetTypeId(), ns3::AlohaNoackNetDevice::GetTypeId(), ns3::UanMacRcGw::GetTypeId(), ns3::VirtualNetDevice::GetTypeId(), ns3::LteEnbPhy::GetTypeId(), ns3::Ipv6L3Protocol::GetTypeId(), EpsBearerTagUdpClient::GetTypeId(), ns3::YansWifiPhy::GetTypeId(), ns3::PointToPointEpcHelper::GetTypeId(), ns3::PointToPointNetDevice::GetTypeId(), ns3::CoDelQueue::GetTypeId(), ns3::Ipv6RawSocketImpl::GetTypeId(), ns3::BridgeNetDevice::GetTypeId(), ns3::ArpCache::GetTypeId(), ns3::LteDataRadioBearerInfo::GetTypeId(), ns3::BulkSendApplication::GetTypeId(), Receiver::GetTypeId(), ns3::RrFfMacScheduler::GetTypeId(), ns3::TtaFfMacScheduler::GetTypeId(), ns3::TdMtFfMacScheduler::GetTypeId(), ns3::dsr::DsrOptions::GetTypeId(), ns3::SixLowPanNetDevice::GetTypeId(), ns3::FdMtFfMacScheduler::GetTypeId(), ns3::flame::FlameProtocol::GetTypeId(), ns3::WimaxNetDevice::GetTypeId(), ns3::LteUePhy::GetTypeId(), ns3::PacketSocket::GetTypeId(), ns3::Ipv4L3Protocol::GetTypeId(), ns3::PfFfMacScheduler::GetTypeId(), ns3::RedQueue::GetTypeId(), ns3::A2A4RsrqHandoverAlgorithm::GetTypeId(), ns3::TdBetFfMacScheduler::GetTypeId(), ns3::FdBetFfMacScheduler::GetTypeId(), ns3::CqaFfMacScheduler::GetTypeId(), ns3::WifiRemoteStationManager::GetTypeId(), ns3::FdNetDevice::GetTypeId(), ns3::LteAnr::GetTypeId(), ns3::OnOffApplication::GetTypeId(), ns3::WaypointMobilityModel::GetTypeId(), ns3::FdTbfqFfMacScheduler::GetTypeId(), ns3::TdTbfqFfMacScheduler::GetTypeId(), ns3::EdcaTxopN::GetTypeId(), ns3::PssFfMacScheduler::GetTypeId(), ns3::TcpSocketBase::GetTypeId(), ns3::dsr::DsrRouting::GetTypeId(), AttributeObjectTest::GetTypeId(), ns3::GridPositionAllocator::GetTypeId(), ns3::UeManager::GetTypeId(), ns3::TapBridge::GetTypeId(), ns3::LteUeRrc::GetTypeId(), ns3::WaveNetDevice::GetTypeId(), ns3::UanMacRc::GetTypeId(), ns3::UanPhyCalcSinrFhFsk::GetTypeId(), ns3::LrWpanMac::GetTypeId(), and ns3::LteEnbRrc::GetTypeId().
ns3::Ptr< const ns3::AttributeAccessor > ns3::MakeUintegerAccessor | ( | 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
where T
is the class and U
is the type of the return value.
The set method should have one of these signatures:
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.
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. |
[in] | a2 | The address of the class method to set the attribute. |
[in] | a1 | The address of the data member, or the get or set method. |
Definition at line 45 of file uinteger.h.
Ptr< const AttributeChecker > ns3::MakeUintegerChecker | ( | void | ) |
Definition at line 94 of file uinteger.h.
References ns3::internal::MakeUintegerChecker().
Ptr< const AttributeChecker > ns3::internal::MakeUintegerChecker | ( | uint64_t | min, |
uint64_t | max, | ||
std::string | name | ||
) |
Make an Uinteger attribute checker with embedded numeric type name.
[in] | min | The minimum allowed value. |
[in] | max | The maximum allowed value. |
[in] | name | The original type name ("uint8_t", "uint16_t", etc.). |
Definition at line 48 of file uinteger.cc.
References ns3::Copy(), ns3::Create(), ns3::UintegerValue::Get(), NS_LOG_FUNCTION, and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::MakeUintegerChecker().