jaulib v1.3.0
Jau Support Library (C++, Java, ..)
|
A packed 48 bit EUI-48 identifier, formerly known as MAC-48 or simply network device MAC address (Media Access Control address). More...
#include <eui48.hpp>
Public Member Functions | |
constexpr | EUI48 () noexcept |
constexpr | EUI48 (const EUI48 &o) noexcept=default |
EUI48 (const std::string &str) | |
EUI48 (const uint8_t *source, const lb_endian_t byte_order) noexcept | |
EUI48 (EUI48 &&o) noexcept=default | |
void | clear () |
bool | contains (const EUI48Sub &needle) const noexcept |
constexpr std::size_t | hash_code () const noexcept |
jau::snsize_t | indexOf (const EUI48Sub &needle, const lb_endian_t byte_order) const noexcept |
constexpr EUI48 & | operator= (const EUI48 &o) noexcept=default |
EUI48 & | operator= (EUI48 &&o) noexcept=default |
jau::nsize_t | put (uint8_t *const sink, const lb_endian_t byte_order) const noexcept |
std::string | toString () const noexcept |
Static Public Member Functions | |
static bool | scanEUI48 (const std::string &str, EUI48 &dest, std::string &errmsg) |
Public Attributes | |
uint8_t | b [6] |
Static Public Attributes | |
static const EUI48 | ALL_DEVICE |
EUI48 MAC address matching all device, i.e. More... | |
static const EUI48 | ANY_DEVICE |
EUI48 MAC address matching any device, i.e. More... | |
static const EUI48 | LOCAL_DEVICE |
EUI48 MAC address matching local device, i.e. More... | |
A packed 48 bit EUI-48 identifier, formerly known as MAC-48 or simply network device MAC address (Media Access Control address).
Stores value in lb_endian::native byte order.
|
noexcept |
EUI48::EUI48 | ( | const std::string & | str | ) |
* Implementation is consistent with EUI48::toString(). *
*
str | a string of exactly 17 characters representing 6 bytes as hexadecimal numbers separated via colon 01:02:03:0A:0B:0C . * |
jau::IllegalArgumentException | if given string doesn't comply with EUI48 |
|
constexprdefaultnoexcept |
|
defaultnoexcept |
|
static |
* Implementation is consistent with EUI48::toString(). *
*
str | a string of exactly 17 characters representing 6 bytes as hexadecimal numbers separated via colon 01:02:03:0A:0B:0C . * |
dest | EUI48 to set its value * |
errmsg | error parsing message if returning false * |
Definition at line 202 of file eui48.cpp.
|
inlineconstexprnoexcept |
|
inline |
|
inlinenoexcept |
needle | * |
byte_order | byte order will adjust the returned index, lb_endian::big is equivalent to the string representation from left (MSB) to right (LSB). * |
Definition at line 324 of file eui48.hpp.
|
inlinenoexcept |
|
noexcept |
01:02:03:0A:0B:0C
. * Definition at line 167 of file eui48.cpp.
|
noexcept |
* Implementation is consistent with EUI48(byte[], int, ByteOrder)
. *
*
sink | the destination array * |
byte_order | destination buffer byte order * |
Definition at line 241 of file eui48.cpp.
|
static |
|
static |
|
static |