diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-02-19 08:48:05 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-02-19 21:29:44 (GMT) |
commit | b1836ffb49bd7740dbd7c32bfad04d077e81ecb5 (patch) | |
tree | 9d0d9b3fad9c2bbd0192696d59e08477b8c22c10 /3rdParty/Boost/src/boost/format/detail/msvc_disambiguater.hpp | |
parent | 2f6c2299c28c9bb03ee1437058a4c7071ff2ac3f (diff) | |
download | swift-contrib-b1836ffb49bd7740dbd7c32bfad04d077e81ecb5.zip swift-contrib-b1836ffb49bd7740dbd7c32bfad04d077e81ecb5.tar.bz2 |
Make Swift translatable.
Diffstat (limited to '3rdParty/Boost/src/boost/format/detail/msvc_disambiguater.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/format/detail/msvc_disambiguater.hpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/format/detail/msvc_disambiguater.hpp b/3rdParty/Boost/src/boost/format/detail/msvc_disambiguater.hpp new file mode 100644 index 0000000..f12e5e9 --- /dev/null +++ b/3rdParty/Boost/src/boost/format/detail/msvc_disambiguater.hpp @@ -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 |