A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
wifi-mgt-header.h File Reference
#include "non-inheritance.h"
#include "supported-rates.h"
#include "ns3/eht-capabilities.h"
#include "ns3/header.h"
#include "ns3/multi-link-element.h"
#include <algorithm>
#include <iterator>
#include <numeric>
#include <optional>
#include <utility>
#include <vector>
+ Include dependency graph for wifi-mgt-header.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ns3::CanBeInPerStaProfile< T >
 Inspect a type to deduce whether it is an Information Element that can be included in a Per-STA Profile subelement of a Multi-Link Element. More...
 
struct  ns3::internal::GetStoredIe< T >
 
struct  ns3::internal::GetStoredIe< std::optional< T > >
 
struct  ns3::internal::GetStoredIe< std::vector< T > >
 
class  ns3::MgtHeaderInPerStaProfile< Derived, std::tuple< Elems... > >
 Add methods needed to serialize/deserialize a management header into a Per-STA Profile subelement of a Multi-Link Element. More...
 
class  ns3::WifiMgtHeader< Derived, std::tuple< Elems... > >
 Base class for implementing management frame headers. More...
 

Namespaces

namespace  ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 
namespace  ns3::internal
 Namespace for implementation details.
 

Typedefs

template<class T >
using ns3::internal::GetStoredIeT = typename GetStoredIe<T>::type
 

Functions

template<typename T , typename Derived >
void ns3::internal::DoCopyIeFromContainingFrame (std::optional< T > &elem, const Derived &frame)
 
template<typename T , typename Derived >
void ns3::internal::DoCopyIeFromContainingFrame (std::vector< T > &elems, const Derived &frame)
 
template<typename T >
uint16_t ns3::internal::DoGetSerializedSize (const std::optional< T > &elem)
 
template<typename T >
uint16_t ns3::internal::DoGetSerializedSize (const std::vector< T > &elems)
 
template<typename T >
void ns3::internal::DoPrint (const std::optional< T > &elem, std::ostream &os)
 
template<typename T >
void ns3::internal::DoPrint (const std::vector< T > &elems, std::ostream &os)
 
template<typename T >
Buffer::Iterator ns3::internal::DoSerialize (const std::optional< T > &elem, Buffer::Iterator start)
 
template<typename T >
Buffer::Iterator ns3::internal::DoSerialize (const std::vector< T > &elems, Buffer::Iterator start)
 
template<typename T , typename Derived >
std::optional< std::pair< uint8_t, uint8_t > > ns3::internal::MustBeListedInNonInheritance (const std::optional< T > &elem, const Derived &frame)
 
template<typename T , typename Derived >
std::optional< std::pair< uint8_t, uint8_t > > ns3::internal::MustBeListedInNonInheritance (const std::vector< T > &elems, const Derived &frame)
 
template<typename T , typename Derived >
bool ns3::internal::MustBeSerializedInPerStaProfile (const std::optional< T > &elem, const Derived &frame)
 
template<typename T , typename Derived >
bool ns3::internal::MustBeSerializedInPerStaProfile (const std::vector< T > &elems, const Derived &frame)
 
template<typename T >
void ns3::internal::RemoveIfNotInherited (std::optional< T > &elem, const NonInheritance &nonInheritance)
 
template<typename T >
void ns3::internal::RemoveIfNotInherited (std::vector< T > &elem, const NonInheritance &nonInheritance)
 

Variables

template<class T >
constexpr bool ns3::CanBeInPerStaProfileV = CanBeInPerStaProfile<T>::value
 Inspect a type to deduce whether it is an Information Element that can be included in a Per-STA Profile subelement of a Multi-Link Element.