msvc_disambiguater.hpp
来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 56 行
HPP
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) // 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 + =
减小字号Ctrl + -
显示快捷键?