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 68 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(), and ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >::DeserializeFromPerStaProfileImpl().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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.
| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function: