diff options
Diffstat (limited to 'include/mapbox/variant_io.hpp')
-rw-r--r-- | include/mapbox/variant_io.hpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/include/mapbox/variant_io.hpp b/include/mapbox/variant_io.hpp deleted file mode 100644 index 1456cc5..0000000 --- a/include/mapbox/variant_io.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#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 |