/usr/local/include/mapbox
Edit: /usr/local/include/mapbox/variant_io.hpp (912B)
#ifndef MAPBOX_UTIL_VARIANT_IO_HPP
#define MAPBOX_UTIL_VARIANT_IO_HPP
#include
#include
namespace mapbox {
namespace util {
namespace detail {
// operator<< helper
template
class printer
{
public:
explicit printer(Out& out)
: out_(out) {}
printer& operator=(printer const&) = delete;
// visitor
template
void operator()(T const& operand) const
{
out_ << operand;
}
private:
Out& out_;
};
}
// operator<<
template
VARIANT_INLINE std::basic_ostream&
operator<<(std::basic_ostream& out, variant const& rhs)
{
detail::printer> visitor(out);
apply_visitor(visitor, rhs);
return out;
}
} // namespace util
} // namespace mapbox
#endif // MAPBOX_UTIL_VARIANT_IO_HPP