17 #ifndef HH_SENF_Socket_Protocols_Raw_EUI64_ 18 #define HH_SENF_Socket_Protocols_Raw_EUI64_ 1 22 #include <boost/cstdint.hpp> 23 #include <boost/array.hpp> 67 :
public boost::array<boost::uint8_t,8>
75 explicit EUI64(boost::uint64_t v=0u);
85 template <
class InputIterator>
104 explicit operator bool()
const;
105 boost::uint64_t
uint64()
const;
static EUI64 from_string(std::string const &s)
Construct EUI-64 from string representation.
EUI64(boost::uint64_t v=0u)
Construct EUI-64.
bool group() const
true if the group bit is set, false otherwise
static EUI64 const None
The empty (0) address.
static EUI64 from_data(InputIterator i)
Construct EUI-64 from 8 data octets.
bool local() const
true if the local bit is set, false otherwise
std::istream & operator>>(std::istream &is, EUI64 &v)
Read EUI64 string representation from stream.
static EUI64 from_mac(MACAddress const &mac)
Construct EUI-64 from senf::MACAddress.
boost::uint64_t uint64() const
Return EUI64 as integer number.
bool isMACCompatible() const
true, if EUI64 is MAC compatible, false otherwise
std::ostream & operator<<(std::ostream &os, EUI64 const &v)
Write out EUI64 in it's string representation to stream.