diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/histogram/test/std_ostream.hpp | |
parent | Initial commit. (diff) | |
download | ceph-upstream.tar.xz ceph-upstream.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/histogram/test/std_ostream.hpp')
-rw-r--r-- | src/boost/libs/histogram/test/std_ostream.hpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/boost/libs/histogram/test/std_ostream.hpp b/src/boost/libs/histogram/test/std_ostream.hpp new file mode 100644 index 000000000..8a181d98d --- /dev/null +++ b/src/boost/libs/histogram/test/std_ostream.hpp @@ -0,0 +1,40 @@ +// Copyright 2018-2019 Hans Dembinski +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt +// or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_HISTOGRAM_TEST_STD_OSTREAM_HPP +#define BOOST_HISTOGRAM_TEST_STD_OSTREAM_HPP + +#include <boost/mp11/tuple.hpp> +#include <ostream> +#include <utility> +#include <vector> + +namespace std { +// never add to std, we only do it here to get ADL working :( +template <class T> +ostream& operator<<(ostream& os, const vector<T>& v) { + os << "[ "; + for (const auto& x : v) os << x << " "; + os << "]"; + return os; +} + +template <class... Ts> +ostream& operator<<(ostream& os, const std::tuple<Ts...>& t) { + os << "[ "; + ::boost::mp11::tuple_for_each(t, [&os](const auto& x) { os << x << " "; }); + os << "]"; + return os; +} + +template <class T, class U> +ostream& operator<<(ostream& os, const std::pair<T, U>& t) { + os << "[ " << t.first << " " << t.second << " ]"; + return os; +} +} // namespace std + +#endif |