📄 msvc_disambiguater.hpp
字号:
// ----------------------------------------------------------------------------// 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) // 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -