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 + -
显示快捷键?