| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- // Copyright 2015-2017 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_OSTREAM_HPP
- #define BOOST_HISTOGRAM_OSTREAM_HPP
- #include <boost/histogram/accumulators/ostream.hpp>
- #include <boost/histogram/axis/ostream.hpp>
- #include <boost/histogram/fwd.hpp>
- #include <iosfwd>
- #ifndef BOOST_HISTOGRAM_DOXYGEN_INVOKED
- namespace boost {
- namespace histogram {
- template <typename CharT, typename Traits, typename A, typename S>
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& os,
- const histogram<A, S>& h) {
- os << "histogram(";
- unsigned n = 0;
- h.for_each_axis([&](const auto& a) {
- if (h.rank() > 1) os << "\n ";
- os << a;
- if (++n < h.rank()) os << ",";
- });
- os << (h.rank() > 1 ? "\n)" : ")");
- return os;
- }
- } // namespace histogram
- } // namespace boost
- #endif // BOOST_HISTOGRAM_DOXYGEN_INVOKED
- #endif
|