19#if defined(__cpp_lib_format)
24#if defined(__cpp_lib_format) && __cplusplus < 202300L
26template <
typename T,
typename U>
27struct std::formatter<
std::pair<T, U>>
29 constexpr auto parse(std::format_parse_context& ctx)
34 auto format(
const std::pair<T, U>& p, std::format_context& ctx)
const
36 return std::format_to(ctx.out(),
"({}, {})", p.first, p.second);
40template <
typename T,
typename U>
41std::ostream&
operator<<(std::ostream& os,
const std::pair<T, U>& value)
43 os << std::format(
"{}", value);
std::ostream & operator<<(std::ostream &os, const sparrow::nullval_t &)