⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bases.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
字号:
// Copyright David Abrahams 2002.// 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 BASES_DWA2002321_HPP# define BASES_DWA2002321_HPP# include <boost/python/detail/prefix.hpp># include <boost/type_traits/object_traits.hpp># include <boost/python/detail/type_list.hpp># include <boost/mpl/if.hpp># include <boost/mpl/bool.hpp># include <boost/preprocessor/enum_params_with_a_default.hpp># include <boost/preprocessor/enum_params.hpp>namespace boost { namespace python { # define BOOST_PYTHON_BASE_PARAMS BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PYTHON_MAX_BASES, Base)  // A type list for specifying bases  template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PYTHON_MAX_BASES, typename Base, mpl::void_) >  struct bases : detail::type_list< BOOST_PYTHON_BASE_PARAMS >::type  {};  namespace detail  {# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION    template <class T> struct specifies_bases        : mpl::false_    {    };        template < BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PYTHON_MAX_BASES, class Base) >    struct specifies_bases< bases< BOOST_PYTHON_BASE_PARAMS > >        : mpl::true_    {    };# else    template < BOOST_PP_ENUM_PARAMS(BOOST_PYTHON_MAX_BASES, class Base) >    static char is_bases_helper(bases< BOOST_PYTHON_BASE_PARAMS > const&);        static char (& is_bases_helper(...) )[256];    template <class T>    struct specifies_bases    {     private:        static typename add_reference<T>::type make();        BOOST_STATIC_CONSTANT(bool, non_ref = !is_reference<T>::value);     public:        BOOST_STATIC_CONSTANT(bool, value = non_ref & (sizeof(is_bases_helper(make())) == 1));        typedef mpl::bool_<value> type;    };# endif    template <class T, class Prev = bases<> >    struct select_bases        : mpl::if_<                specifies_bases<T>                , T                , Prev          >    {    };  }# undef BOOST_PYTHON_BASE_PARAMS}} // namespace boost::python#endif // BASES_DWA2002321_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -