21 Internet protocol [internet]

21.5 Class ip::address_v4 [internet.address.v4]

21.5.2 ip::address_v4 constructors [internet.address.v4.cons]

constexpr address_v4() noexcept;

Postconditions: to_bytes() yields {0, 0, 0, 0} and to_uint() == 0.

constexpr address_v4(const bytes_type& bytes);

Remarks: out_of_range if any element of bytes is not in the range [0, 0xFF]. [ Note: For implementations where numeric_limits<unsigned char>::max() == 0xFF, no out-of-range detection is needed.  — end note ]

Postconditions: to_bytes() == bytes and to_uint() == (bytes[0] << 24) | (bytes[1] << 16) | (bytes[2] << 8) | bytes[3].

explicit constexpr address_v4(address_v4::uint_type val);

Remarks: out_of_range if val is not in the range [0, 0xFFFFFFFF]. [ Note: For implementations where numeric_limits<address_v4::uint_type>::max() == 0xFFFFFFFF, no out-of-range detection is needed.  — end note ]

Postconditions: to_uint() == val and to_bytes() is: