/usr/include/boost/variant/detail
NameSizeModeActions
apply_visitor_binary.hpp105220644editdlrm
apply_visitor_delayed.hpp43170644editdlrm
apply_visitor_unary.hpp48980644editdlrm
backup_holder.hpp20070644editdlrm
cast_storage.hpp12030644editdlrm
config.hpp7180644editdlrm
element_index.hpp19570644editdlrm
enable_recursive.hpp37650644editdlrm
enable_recursive_fwd.hpp22950644editdlrm
forced_return.hpp14850644editdlrm
hash_variant.hpp14300644editdlrm
has_result_type.hpp12170644editdlrm
initializer.hpp81710644editdlrm
make_variant_list.hpp22690644editdlrm
move.hpp16280644editdlrm
multivisitors_cpp11_based.hpp75570644editdlrm
multivisitors_cpp14_based.hpp56630644editdlrm
multivisitors_preprocessor_based.hpp64040644editdlrm
over_sequence.hpp15280644editdlrm
std_hash.hpp15750644editdlrm
substitute.hpp67730644editdlrm
substitute_fwd.hpp18170644editdlrm
variant_io.hpp23870644editdlrm
visitation_impl.hpp82560644editdlrm
Edit: /usr/include/boost/variant/detail/variant_io.hpp (2387B)
//----------------------------------------------------------------------------- // boost variant/detail/variant_io.hpp header file // See http://www.boost.org for updates, documentation, and revision history. //----------------------------------------------------------------------------- // // Copyright (c) 2002-2003 // Eric Friedman, Itay Maman // // 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_VARIANT_DETAIL_VARIANT_IO_HPP #define BOOST_VARIANT_DETAIL_VARIANT_IO_HPP #include // for std::basic_ostream forward declare #include #include #include namespace boost { /////////////////////////////////////////////////////////////////////////////// // function template operator<< // // Outputs the content of the given variant to the given ostream. // // forward declare (allows output of embedded variant< variant< ... >, ... >) template < BOOST_TEMPLATED_STREAM_ARGS(E,T) BOOST_TEMPLATED_STREAM_COMMA BOOST_VARIANT_ENUM_PARAMS(typename U) > inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<( BOOST_TEMPLATED_STREAM(ostream, E,T)& out , const variant< BOOST_VARIANT_ENUM_PARAMS(U) >& rhs ); namespace detail { namespace variant { template class printer : public boost::static_visitor<> { private: // representation OStream& out_; public: // structors explicit printer(OStream& out) : out_( out ) { } public: // visitor interface template void operator()(const T& operand) const { out_ << operand; } private: printer& operator=(const printer&); }; }} // namespace detail::variant template < BOOST_TEMPLATED_STREAM_ARGS(E,T) BOOST_TEMPLATED_STREAM_COMMA BOOST_VARIANT_ENUM_PARAMS(typename U) > inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<( BOOST_TEMPLATED_STREAM(ostream, E,T)& out , const variant< BOOST_VARIANT_ENUM_PARAMS(U) >& rhs ) { detail::variant::printer< BOOST_TEMPLATED_STREAM(ostream, E,T) > visitor(out); rhs.apply_visitor(visitor); return out; } } // namespace boost #endif // BOOST_VARIANT_DETAIL_VARIANT_IO_HPP