171 return type() == IPAddressV6::Type::T6TO4;
176 return type() == IPAddressV6::Type::TEREDO;
276 constexpr
auto zero = ByteArray16{{}};
277 return 0 == std::memcmp(
bytes(), zero.data(), zero.size());
299 memset(&addr, 0,
sizeof(sockaddr_in6));
300 addr.sin6_family = AF_INET6;
301 addr.sin6_scope_id =
scope_;
308 std::memcpy(ba.data(),
bytes(), 16);
341 static const ByteArray16
fetchMask(
size_t numBits);
345 const CIDRNetworkV6& one,
346 const CIDRNetworkV6& two);
367 const unsigned char*
bytes()
const {
385 return a.
tie() == b.
tie();
388 return a.
tie() != b.
tie();
397 return a.
tie() <= b.
tie();
400 return a.
tie() >= b.
tie();
static CIDRNetworkV6 longestCommonPrefix(const CIDRNetworkV6 &one, const CIDRNetworkV6 &two)
IPAddressV4 createIPv4() const
bool getNthMSBitImpl(const IPAddrType &ip, size_t bitIndex, sa_family_t family)
ByteArray16 toByteArray() const
std::string toInverseArpaName() const
bool inSubnetWithMask(const IPAddressV6 &subnet, const ByteArray16 &mask) const
AddressStorage(const in6_addr &addr)
AddressStorage(const ByteArray16 &bytes)
bool inBinarySubnet(const std::array< uint8_t, 2 > addr, size_t numBits) const
static const uint32_t PREFIX_6TO4
bool getNthLSBit(size_t bitIndex) const
uint8_t getNthMSByte(size_t byteIndex) const
bool isLinkLocalBroadcast() const
Optional< MacAddress > getMacAddressFromLinkLocal() const
const unsigned char * bytes() const
friend bool operator<(const IPAddressV6 &a, const IPAddressV6 &b)
static IPAddressV6 fromBinary(ByteRange bytes)
static constexpr size_t bitCount()
IPAddressV6 mask(size_t numBits) const
IPAddressV4 getIPv4For6To4() const
friend bool operator==(const IPAddressV6 &a, const IPAddressV6 &b)
uint16_t getScopeId() const
Expected< Unit, IPAddressFormatError > trySetFromBinary(ByteRange bytes) noexcept
—— Concurrent Priority Queue Implementation ——
uint8_t getMulticastFlags() const
requires E e noexcept(noexcept(s.error(std::move(e))))
sockaddr_in6 toSockAddr() const
std::string toFullyQualified() const
void setScopeId(uint16_t scope)
std::pair< IPAddressV6, uint8_t > CIDRNetworkV6
static constexpr size_t byteCount()
static Expected< IPAddressV6, IPAddressFormatError > tryFromBinary(ByteRange bytes) noexcept
friend bool operator!=(const IPAddressV6 &a, const IPAddressV6 &b)
static constexpr size_t kToFullyQualifiedSize
void toFullyQualifiedAppend(std::string &out) const
static const ByteArray16 fetchMask(size_t numBits)
static bool validate(StringPiece ip) noexcept
IPAddressV6 getSolicitedNodeAddress() const
static Expected< IPAddressV6, IPAddressFormatError > tryFromString(StringPiece str) noexcept
std::array< uint8_t, 16 > ByteArray16
size_t hash_value(const IPAddress &addr)
static const uint32_t PREFIX_TEREDO
bool inSubnet(const IPAddressV6 &subnet, uint8_t cidr) const
void toAppend(char value, Tgt *result)
size_t operator()(const folly::IPAddressV6 &addr) const
Optional< MacAddress > getMacAddressFromEUI64() const
bool getNthMSBit(size_t bitIndex) const
friend bool operator>(const IPAddressV6 &a, const IPAddressV6 &b)
std::runtime_error TypeError
friend bool operator<=(const IPAddressV6 &a, const IPAddressV6 &b)
Range< const unsigned char * > ByteRange
std::string toJson() const
friend bool operator>=(const IPAddressV6 &a, const IPAddressV6 &b)
uint8_t getMulticastScope() const
static IPAddressV6 fromInverseArpaName(const std::string &arpaname)
bool inSubnet(StringPiece cidrNetwork) const
uint8_t getNthLSByte(size_t byteIndex) const
bool isNonroutable() const
ThreadPoolListHook * addr
union folly::IPAddressV6::AddressStorage addr_
bool isIPv4Mapped() const
ByteRange toBinary() const
std::ostream & operator<<(std::ostream &out, dynamic const &d)