9#include "roo_logging.h"
22 unsigned char a3,
unsigned char a4,
unsigned char a5);
24#if (defined UINT8_MAX && __cplusplus >= 201703L)
33 const byte*
asBytes()
const {
return addr_; }
41#if (defined UINT8_MAX && __cplusplus >= 201703L)
57bool operator==(
const MacAddress&
a,
const MacAddress&
b);
58bool operator!=(
const MacAddress&
a,
const MacAddress&
b);
59bool operator<(
const MacAddress&
a,
const MacAddress&
b);
60bool operator>(
const MacAddress&
a,
const MacAddress&
b);
61bool operator<=(
const MacAddress&
a,
const MacAddress&
b);
62bool operator<=(
const MacAddress&
a,
const MacAddress&
b);
64template <
typename InputIterator>
66 byte addr[] = {
byte{0},
byte{0},
byte{0},
byte{0},
byte{0},
byte{0}};
71template <
typename OutputIterator>
76roo_logging::Stream&
operator<<(roo_logging::Stream&
s,
const MacAddress&
addr);
83struct hash<
roo_io::MacAddress> {
85 return std::hash<uint64_t>()(addr.
asU64());
bool parseFrom(const char *rep)
const byte * asBytes() const
int operator[](int idx) const
MacAddress(const byte *addr)
MacAddress(unsigned char a0, unsigned char a1, unsigned char a2, unsigned char a3, unsigned char a4, unsigned char a5)
void writeStringTo(char *buf) const
void writeTo(byte *buf) const
std::string asString() const
bool assignFromU64(uint64_t addr)
static const MacAddress & Broadcast()
roo::basic_string_view< CharT, Traits > basic_string_view
roo_logging::Stream & operator<<(roo_logging::Stream &s, const MacAddress &addr)
MacAddress ReadMacAddress(InputIterator &itr)
bool operator>(const MacAddress &a, const MacAddress &b)
bool operator==(const MacAddress &a, const MacAddress &b)
void WriteMacAddress(OutputIterator &itr, const MacAddress &addr)
bool operator!=(const MacAddress &a, const MacAddress &b)
bool operator<(const MacAddress &a, const MacAddress &b)
bool operator<=(const MacAddress &a, const MacAddress &b)