Sha256: 45d903d039754b4faad3e80212e54f8b21184cb63356ea88d197605620c834de
Contents?: true
Size: 912 Bytes
Versions: 14
Compression:
Stored size: 912 Bytes
Contents
#ifndef MAPBOX_UTIL_VARIANT_IO_HPP #define MAPBOX_UTIL_VARIANT_IO_HPP #include <iosfwd> #include <mapbox/variant.hpp> namespace mapbox { namespace util { namespace detail { // operator<< helper template <typename Out> class printer { public: explicit printer(Out& out) : out_(out) {} printer& operator=(printer const&) = delete; // visitor template <typename T> void operator()(T const& operand) const { out_ << operand; } private: Out& out_; }; } // operator<< template <typename CharT, typename Traits, typename... Types> VARIANT_INLINE std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& out, variant<Types...> const& rhs) { detail::printer<std::basic_ostream<CharT, Traits>> visitor(out); apply_visitor(visitor, rhs); return out; } } // namespace util } // namespace mapbox #endif // MAPBOX_UTIL_VARIANT_IO_HPP
Version data entries
14 entries across 14 versions & 1 rubygems