9 #include <hilti/rt/extension-points.h> 10 #include <hilti/rt/util.h> 16 template<
typename Tuple,
size_t Idx>
17 ptrdiff_t elementOffset() {
20 return reinterpret_cast<const char*
>(&std::get<Idx>(t)) -
reinterpret_cast<const char*
>(&t);
25 namespace detail::adl {
26 template<
typename... Ts>
27 inline std::string
to_string(
const std::tuple<Ts...>& x, adl::tag ) {
32 template<
typename... Ts>
33 inline std::string to_string_for_print(
const std::tuple<Ts...>& x, adl::tag ) {
43 template<
typename... Ts>
44 inline std::ostream& operator<<(std::ostream& out,
const std::tuple<Ts...>& x) {
std::string to_string(T &&x)
Definition: extension-points.h:26
std::string to_string_for_print(const T &x)
Definition: extension-points.h:45
Definition: optional.h:79
constexpr auto map_tuple(T &&tup, F f)
Definition: util.h:481
auto join_tuple_for_print(T &&tup)
Definition: util.h:503
std::string fmt(const char *fmt, const Args &... args)
Definition: fmt.h:13