Namespace for implementation details. More...
Classes | |
class | AttributeContainerChecker |
struct | EventMemberImplObjTraits |
Helper for the MakeEvent functions which take a class method. More... | |
struct | EventMemberImplObjTraits< Ptr< T > > |
Helper for the MakeEvent functions which take a class method. More... | |
struct | EventMemberImplObjTraits< T * > |
Helper for the MakeEvent functions which take a class method. More... | |
struct | GetStoredIe |
struct | GetStoredIe< std::optional< T > > |
struct | GetStoredIe< std::vector< T > > |
class | ObjectPtrContainerChecker |
ObjectPtrContainerChecker implementation class. More... | |
class | PairChecker |
Internal checker class templated to each AttributeChecker for each entry in the pair. More... | |
class | PointerChecker |
PointerChecker implementation. More... | |
class | TimerImpl |
The timer implementation underlying Timer and Watchdog. More... | |
struct | TimerImplX |
TimerImpl specialization class for varying numbers of arguments. More... | |
class | TupleChecker |
Internal checker class templated to each AttributeChecker for each entry in the tuple. More... | |
struct | TupleHelper |
Helper class defining static methods for MakeTupleChecker and MakeTupleAccessor that are called when user specifies the list of AttributeValue types included in a TupleValue type. More... | |
struct | TupleHelper< std::tuple< Args... > > |
Helper class defining static methods for MakeTupleValue, MakeTupleChecker and MakeTupleAccessor that are called when user provides a std::tuple of the AttributeValue types included in a TupleValue type. More... | |
Typedefs | |
template<class T > | |
using | GetStoredIeT = typename GetStoredIe<T>::type |
Functions | |
template<typename T , typename Derived > | |
void | DoCopyIeFromContainingFrame (std::optional< T > &elem, const Derived &frame) |
template<typename T , typename Derived > | |
void | DoCopyIeFromContainingFrame (std::vector< T > &elems, const Derived &frame) |
template<typename T > | |
uint16_t | DoGetSerializedSize (const std::optional< T > &elem) |
template<typename T > | |
uint16_t | DoGetSerializedSize (const std::vector< T > &elems) |
template<typename T > | |
void | DoPrint (const std::optional< T > &elem, std::ostream &os) |
template<typename T > | |
void | DoPrint (const std::vector< T > &elems, std::ostream &os) |
template<typename T > | |
Buffer::Iterator | DoSerialize (const std::optional< T > &elem, Buffer::Iterator start) |
template<typename T > | |
Buffer::Iterator | DoSerialize (const std::vector< T > &elems, Buffer::Iterator start) |
Ptr< const AttributeChecker > | MakeDoubleChecker (double min, double max, std::string name) |
Make a Double attribute checker with embedded numeric type name. | |
Ptr< const AttributeChecker > | MakeIntegerChecker (int64_t min, int64_t max, std::string name) |
Make an Integer attribute checker with embedded numeric type name. | |
template<typename U , typename... Ts> | |
TimerImpl * | MakeTimerImpl (U(fn)(Ts...)) |
Make a TimerImpl from a function pointer taking varying numbers of arguments. | |
template<typename OBJ_PTR , typename U , typename V , typename... Ts> | |
TimerImpl * | MakeTimerImpl (U(V::*memPtr)(Ts...), OBJ_PTR objPtr) |
Make a TimerImpl from a class method pointer taking a varying number of arguments. | |
Ptr< const AttributeChecker > | MakeUintegerChecker (uint64_t min, uint64_t max, std::string name) |
Make an Uinteger attribute checker with embedded numeric type name. | |
template<typename T , typename Derived > | |
std::optional< std::pair< uint8_t, uint8_t > > | MustBeListedInNonInheritance (const std::optional< T > &elem, const Derived &frame) |
template<typename T , typename Derived > | |
std::optional< std::pair< uint8_t, uint8_t > > | MustBeListedInNonInheritance (const std::vector< T > &elems, const Derived &frame) |
template<typename T , typename Derived > | |
bool | MustBeSerializedInPerStaProfile (const std::optional< T > &elem, const Derived &frame) |
template<typename T , typename Derived > | |
bool | MustBeSerializedInPerStaProfile (const std::vector< T > &elems, const Derived &frame) |
template<typename T > | |
void | RemoveIfNotInherited (std::optional< T > &elem, const NonInheritance &nonInheritance) |
template<typename T > | |
void | RemoveIfNotInherited (std::vector< T > &elem, const NonInheritance &nonInheritance) |
Namespace for implementation details.
using ns3::internal::GetStoredIeT = typename GetStoredIe<T>::type |
T | [explicit] An Information Element type |
Provides the type used to store Information Elements in the tuple held by WifiMgtHeader:
Definition at line 66 of file wifi-mgt-header.h.
void ns3::internal::DoCopyIeFromContainingFrame | ( | std::optional< T > & | elem, |
const Derived & | frame ) |
T | [deduced] the type of the given Information Element |
Derived | [deduced] the type of the containing management frame |
elem | the given Information Element |
frame | the containing management frame |
Copy the given Information Element from the containing frame to the Per-STA Profile subelement of the Multi-Link Element, if the Information Element has been inherited (i.e., it is present outside the Multi-Link Element and not present in the Per-STA Profile subelement)
Definition at line 828 of file wifi-mgt-header.h.
References ns3::CanBeInPerStaProfileV.
Referenced by ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::CopyIesFromContainingFrame().
void ns3::internal::DoCopyIeFromContainingFrame | ( | std::vector< T > & | elems, |
const Derived & | frame ) |
T | [deduced] the type of the given vector of Information Elements |
Derived | [deduced] the type of the containing management frame |
elems | the given vector of Information Elements |
frame | the containing management frame |
Copy the given Information Element from the containing frame to the Per-STA Profile subelement of the Multi-Link Element, if the Information Element has been inherited (i.e., it is present outside the Multi-Link Element and not present in the Per-STA Profile subelement)
Definition at line 849 of file wifi-mgt-header.h.
References ns3::CanBeInPerStaProfileV.
uint16_t ns3::internal::DoGetSerializedSize | ( | const std::optional< T > & | elem | ) |
T | [deduced] the type of the Information Element |
elem | the optional Information Element |
Definition at line 400 of file wifi-mgt-header.h.
Referenced by ns3::WifiMgtHeader< Derived, std::tuple< Elems... > >::GetSerializedSizeImpl(), and ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::GetSerializedSizeInPerStaProfileImpl().
uint16_t ns3::internal::DoGetSerializedSize | ( | const std::vector< T > & | elems | ) |
T | [deduced] the type of the Information Elements |
elems | a vector of Information Elements |
Definition at line 412 of file wifi-mgt-header.h.
void ns3::internal::DoPrint | ( | const std::optional< T > & | elem, |
std::ostream & | os ) |
T | [deduced] the type of the Information Element |
elem | the optional Information Element |
os | the output stream |
Definition at line 571 of file wifi-mgt-header.h.
Referenced by ns3::WifiMgtHeader< Derived, std::tuple< Elems... > >::PrintImpl().
void ns3::internal::DoPrint | ( | const std::vector< T > & | elems, |
std::ostream & | os ) |
T | [deduced] the type of the Information Elements |
elems | a vector of Information Elements |
os | the output stream |
Definition at line 586 of file wifi-mgt-header.h.
Buffer::Iterator ns3::internal::DoSerialize | ( | const std::optional< T > & | elem, |
Buffer::Iterator | start ) |
T | [deduced] the type of the Information Element |
elem | the optional Information Element |
start | the buffer iterator pointing to where serialization starts |
Definition at line 447 of file wifi-mgt-header.h.
Referenced by ns3::WifiMgtHeader< Derived, std::tuple< Elems... > >::SerializeImpl(), and ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::SerializeInPerStaProfileImpl().
Buffer::Iterator ns3::internal::DoSerialize | ( | const std::vector< T > & | elems, |
Buffer::Iterator | start ) |
T | [deduced] the type of the Information Elements |
elems | a vector of Information Elements |
start | the buffer iterator pointing to where serialization starts |
Definition at line 460 of file wifi-mgt-header.h.
Ptr< const AttributeChecker > ns3::internal::MakeDoubleChecker | ( | double | min, |
double | max, | ||
std::string | name ) |
Make a Double 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 ("float", "double"). |
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().
Ptr< const AttributeChecker > ns3::internal::MakeIntegerChecker | ( | int64_t | min, |
int64_t | max, | ||
std::string | name ) |
Make an Integer 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 ("int8_t", "int16_t", etc.). |
Definition at line 41 of file integer.cc.
References ns3::Copy(), ns3::Create(), ns3::IntegerValue::Get(), NS_LOG_FUNCTION, and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::MakeIntegerChecker(), ns3::MakeIntegerChecker(), and ns3::MakeIntegerChecker().
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 41 of file uinteger.cc.
References ns3::Copy(), ns3::Create(), ns3::UintegerValue::Get(), NS_LOG_FUNCTION, and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::MakeUintegerChecker(), ns3::MakeUintegerChecker(), and ns3::MakeUintegerChecker().
std::optional< std::pair< uint8_t, uint8_t > > ns3::internal::MustBeListedInNonInheritance | ( | const std::optional< T > & | elem, |
const Derived & | frame ) |
T | [deduced] the type of the given Information Element |
Derived | [deduced] the type of the containing management frame |
elem | the given Information Element |
frame | the containing management frame |
Definition at line 691 of file wifi-mgt-header.h.
References ns3::CanBeInPerStaProfileV.
Referenced by ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::GetSerializedSizeInPerStaProfileImpl(), and ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::SerializeInPerStaProfileImpl().
std::optional< std::pair< uint8_t, uint8_t > > ns3::internal::MustBeListedInNonInheritance | ( | const std::vector< T > & | elems, |
const Derived & | frame ) |
T | [deduced] the type of the given vector of Information Elements |
Derived | [deduced] the type of the containing management frame |
elems | the given Information Elements |
frame | the containing management frame |
Definition at line 712 of file wifi-mgt-header.h.
References ns3::CanBeInPerStaProfileV.
bool ns3::internal::MustBeSerializedInPerStaProfile | ( | const std::optional< T > & | elem, |
const Derived & | frame ) |
T | [deduced] the type of the given Information Element |
Derived | [deduced] the type of the containing management frame |
elem | the given Information Element |
frame | the containing management frame |
Definition at line 620 of file wifi-mgt-header.h.
References ns3::CanBeInPerStaProfileV.
Referenced by ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::GetSerializedSizeInPerStaProfileImpl(), and ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::SerializeInPerStaProfileImpl().
bool ns3::internal::MustBeSerializedInPerStaProfile | ( | const std::vector< T > & | elems, |
const Derived & | frame ) |
T | [deduced] the type of the given vector of Information Elements |
Derived | [deduced] the type of the containing management frame |
elems | the given vector of Information Elements |
frame | the containing management frame |
Definition at line 655 of file wifi-mgt-header.h.
References ns3::CanBeInPerStaProfileV.
void ns3::internal::RemoveIfNotInherited | ( | std::optional< T > & | elem, |
const NonInheritance & | nonInheritance ) |
T | [deduced] the type of the given Information Element |
elem | the given Information Element |
nonInheritance | the Non-Inheritance information element |
Remove the given Information Element from this header, if it is present and is listed in the given Non-Inheritance element.
Definition at line 918 of file wifi-mgt-header.h.
References ns3::NonInheritance::IsPresent().
Referenced by ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::CopyIesFromContainingFrame().
void ns3::internal::RemoveIfNotInherited | ( | std::vector< T > & | elem, |
const NonInheritance & | nonInheritance ) |
T | [deduced] the type of the given vector of Information Elements |
elem | the given Information Elements |
nonInheritance | the Non-Inheritance information element |
Remove the given Information Elements from this header, if they are present and are listed in the given Non-Inheritance element.
Definition at line 936 of file wifi-mgt-header.h.
References ns3::NonInheritance::IsPresent().