...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::log::tuple_manipulator
// In header: <boost/log/utility/manipulators/tuple.hpp> template<typename TupleT, typename DelimiterT> class tuple_manipulator { public: // member classes/structs/unions template<typename StreamT> struct output_visitor { // types typedef boost::true_type result_type; // construct/copy/destruct output_visitor(StreamT &, stored_delimiter_type) noexcept; // public member functions template<typename T> result_type operator()(boost::true_type, T const &) const; template<typename T> result_type operator()(boost::false_type, T const &) const; }; // construct/copy/destruct tuple_manipulator(TupleT const &, stored_delimiter_type) noexcept; // public member functions template<typename StreamT> void output(StreamT &) const; };