Namespace for implementation details. More...
Classes | |
class | AttributeContainerChecker |
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 | 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. More... | |
Ptr< const AttributeChecker > | MakeIntegerChecker (int64_t min, int64_t max, std::string name) |
Make an Integer attribute checker with embedded numeric type name. More... | |
Ptr< const AttributeChecker > | MakeUintegerChecker (uint64_t min, uint64_t max, std::string name) |
Make an Uinteger attribute checker with embedded numeric type name. More... | |
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 = typedef 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 77 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 839 of file wifi-mgt-header.h.
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 860 of file wifi-mgt-header.h.
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 411 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 423 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 582 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 597 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 458 of file wifi-mgt-header.h.
References two-ray-to-three-gpp-ch-calibration::start.
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 471 of file wifi-mgt-header.h.
References two-ray-to-three-gpp-ch-calibration::start.
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 53 of file double.cc.
References ns3::Copy(), ns3::Create(), ns3::DoubleValue::Get(), max, min, NS_LOG_FUNCTION, and NS_LOG_FUNCTION_NOARGS.
Referenced by 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 52 of file integer.cc.
References ns3::Copy(), ns3::Create(), ns3::IntegerValue::Get(), max, min, NS_LOG_FUNCTION, and NS_LOG_FUNCTION_NOARGS.
Referenced by 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 52 of file uinteger.cc.
References ns3::Copy(), ns3::Create(), ns3::UintegerValue::Get(), max, min, NS_LOG_FUNCTION, and NS_LOG_FUNCTION_NOARGS.
Referenced by 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 702 of file wifi-mgt-header.h.
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 723 of file wifi-mgt-header.h.
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 631 of file wifi-mgt-header.h.
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 666 of file wifi-mgt-header.h.
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 929 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 947 of file wifi-mgt-header.h.
References ns3::NonInheritance::IsPresent().