29 #include "ns3/attribute-helper.h"
30 #include "ns3/wifi-phy-standard.h"
111 uint64_t
GetPhyRate (uint32_t channelWidth,
bool isShortGuardInterval, uint8_t nss)
const;
120 uint64_t
GetDataRate (uint32_t channelWidth,
bool isShortGuardInterval, uint8_t nss)
const;
156 uint32_t
GetUid (
void)
const;
238 uint16_t constellationSize);
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input
WifiMode()
Create an invalid WifiMode.
enum WifiCodeRate GetCodeRate(uint8_t nss) const
WifiCodeRate
This enumeration defines the various convolutional coding rates used for the OFDM transmission modes ...
uint16_t GetConstellationSize(uint8_t nss) const
enum WifiModulationClass GetModulationClass() const
represent a single transmission modeA WifiMode is implemented by a single integer which is used to lo...
bool IsMandatory(void) const
static WifiMode CreateWifiMcs(std::string uniqueName, uint8_t mcsValue, enum WifiModulationClass modClass)
Modulation class unknown or unspecified.
WifiModeItem * Get(uint32_t uid)
Return a WifiModeItem at the given uid index.
uint64_t GetPhyRate(uint32_t channelWidth, bool isShortGuardInterval, uint8_t nss) const
Frequency-hopping spread spectrum (FHSS) PHY (Clause 14)
enum WifiCodeRate codingRate
uint8_t GetMcsValue(void) const
std::string GetUniqueName(void) const
WifiModeItemList m_itemList
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Infrared (IR) (Clause 16)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
WifiModeList::const_iterator WifiModeListIterator
An iterator for WifiModeList vector.
uint64_t GetDataRate(uint32_t channelWidth, bool isShortGuardInterval, uint8_t nss) const
std::vector< WifiMode > WifiModeList
In various parts of the code, folk are interested in maintaining a list of transmission modes...
uint16_t constellationSize
std::vector< struct WifiModeItem > WifiModeItemList
typedef for a vector of WifiModeItem.
static WifiMode CreateWifiMode(std::string uniqueName, enum WifiModulationClass modClass, bool isMandatory, enum WifiCodeRate codingRate, uint16_t constellationSize)
No explicit coding (e.g., DSSS rates)
create WifiMode class instances and keep track of them.
WifiModulationClass
This enumeration defines the modulation classes per (Table 9-4 "Modulation classes"; IEEE 802...
bool operator==(const EventId &a, const EventId &b)
static WifiModeFactory * GetFactory()
Return a WifiModeFactory.
uint32_t AllocateUid(std::string uniqueUid)
Allocate a WifiModeItem from a given uniqueUid.
enum WifiModulationClass modClass
uint32_t GetUid(void) const
friend std::istream & operator>>(std::istream &is, WifiMode &mode)
Serialize WifiMode from istream (human-readable).
WifiMode Search(std::string name)
Search and return WifiMode from a given name.
#define ATTRIBUTE_HELPER_HEADER(type)
Declare the attribute value, accessor and checkers for class type.
This is the data associated to a unique WifiMode.