5 #include <glog/logging.h>
7 int main(int argc
, char const* argv
[])
10 using IP6::is_address
;
11 using IP6::is_address_literal
;
12 using IP6::is_private
;
13 using IP6::to_address_literal
;
15 CHECK(is_address("::1"));
16 CHECK(is_address_literal("[IPv6:::1]"));
18 CHECK(is_address("::ffff:0.0.0.0"));
19 CHECK(is_address("::ffff:255.255.255.255"));
21 CHECK(is_address("::ffff:0:0.0.0.0"));
22 CHECK(is_address("::ffff:0:255.255.255.255"));
24 CHECK(is_address("fd12:3456:789a:1::1"));
26 auto const addr
{"2001:0db8:85a3:0000:0000:8a2e:0370:7334"};
27 auto const addr_lit
{"[IPv6:2001:0db8:85a3:0000:0000:8a2e:0370:7334]"};
29 CHECK(is_address(addr
));
30 CHECK(is_address_literal(addr_lit
));
32 CHECK(!is_private(addr
));
33 CHECK(is_private("fd12:3456:789a:1::1"));
35 CHECK_EQ(to_address_literal(addr
), addr_lit
);
36 CHECK_EQ(as_address(addr_lit
), addr
);