📄 enable_if.hpp
字号:
// Copyright David Abrahams 2004. Distributed under 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)#ifndef ENABLE_IF_DWA2004722_HPP# define ENABLE_IF_DWA2004722_HPP# include <boost/python/detail/sfinae.hpp># include <boost/detail/workaround.hpp># if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)# include <boost/mpl/if.hpp>namespace boost { namespace python { namespace detail { template <class T> struct always_void { typedef void type; };template <class C, class T = int>struct enable_if_arg{ typedef typename mpl::if_<C,T,int&>::type type;}; template <class C, class T = int>struct disable_if_arg{ typedef typename mpl::if_<C,int&,T>::type type;}; template <class C, class T = typename always_void<C>::type>struct enable_if_ret{ typedef typename mpl::if_<C,T,int[2]>::type type;}; template <class C, class T = typename always_void<C>::type>struct disable_if_ret{ typedef typename mpl::if_<C,int[2],T>::type type;}; }}} // namespace boost::python::detail# elif !defined(BOOST_NO_SFINAE)# include <boost/utility/enable_if.hpp>namespace boost { namespace python { namespace detail { template <class C, class T = int>struct enable_if_arg : enable_if<C,T>{}; template <class C, class T = int>struct disable_if_arg : disable_if<C,T>{}; template <class C, class T = void>struct enable_if_ret : enable_if<C,T>{}; template <class C, class T = void>struct disable_if_ret : disable_if<C,T>{}; }}} // namespace boost::python::detail# endif#endif // ENABLE_IF_DWA2004722_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -