Added boost header
This commit is contained in:
56
test/external/boost/format/detail/msvc_disambiguater.hpp
vendored
Normal file
56
test/external/boost/format/detail/msvc_disambiguater.hpp
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
// msvc_disambiguater.hpp : msvc workarounds. (for put_{head|last} overloads)
|
||||
// the trick was described in boost's list by Aleksey Gurtovoy
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Copyright Samuel Krempp 2003. Use, modification, and distribution are
|
||||
// subject to 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)
|
||||
|
||||
// see http://www.boost.org/libs/format for library home page
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifndef BOOST_MSVC_DISAMBIGUATER_HPP
|
||||
#define BOOST_MSVC_DISAMBIGUATER_HPP
|
||||
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, <= 1300) || \
|
||||
BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
|
||||
// this whole header is specifically for msvc up to 7.0
|
||||
|
||||
#include <boost/format/group.hpp>
|
||||
#include <ostream>
|
||||
|
||||
namespace boost {
|
||||
namespace io {
|
||||
namespace detail {
|
||||
|
||||
template< class Ch, class Tr, class T >
|
||||
struct disambiguater
|
||||
{
|
||||
template< typename U >
|
||||
static void put_head(BOOST_IO_STD basic_ostream<Ch, Tr>& os, group1<U> const& x, long)
|
||||
{
|
||||
os << group_head(x.a1_);
|
||||
}
|
||||
static void put_head(BOOST_IO_STD basic_ostream<Ch, Tr>& os, T const& x, int)
|
||||
{
|
||||
}
|
||||
template< typename U >
|
||||
static void put_last(BOOST_IO_STD basic_ostream<Ch, Tr>& os, group1<U> const& x, long)
|
||||
{
|
||||
os << group_last(x.a1_);
|
||||
}
|
||||
static void put_last(BOOST_IO_STD basic_ostream<Ch, Tr>& os, T const& x, int)
|
||||
{
|
||||
os << x;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
} // namespace io
|
||||
} // namespace boost
|
||||
|
||||
#endif // -BOOST_MSVC
|
||||
|
||||
#endif // -BOOST_MSVC_DISAMBIGUATER_HPP
|
||||
Reference in New Issue
Block a user