28 return to_string(static_cast<unsigned char>(ch));
38 return std::string(ch);
58 template <
typename T1,
typename T2>
60 static_assert(std::is_same<T1, T2>());
63 <<
to_string(std::get<1>(t)) << std::endl;
72 template <
typename Head,
typename ... Tail>
74 using Second =
typename std::tuple_element<0, std::tuple<Tail ...> >::type;
75 static_assert(std::is_same<Head, Second>());
76 stream << to_string(std::get<0>(t)) <<
'.';
78 [&stream](
auto head,
auto ... tail) {
std::string to_string(T t)
Wrapper function to make string.
void print_ip_tuple_impl(std::tuple< T1, T2 > const &t, std::ostream &stream=std::cout)
Pretty print IP address.