📄 other.hpp
字号:
#ifndef OTHER_DWA20020601_HPP# define OTHER_DWA20020601_HPP# include <boost/python/detail/prefix.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)# if _MSC_VER+0 >= 1020# pragma once# endif# include <boost/config.hpp>namespace boost { namespace python {template<class T> struct other{ typedef T type;};# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATIONnamespace detail{ template<typename T> class is_other { public: BOOST_STATIC_CONSTANT(bool, value = false); }; template<typename T> class is_other<other<T> > { public: BOOST_STATIC_CONSTANT(bool, value = true); }; template<typename T> class unwrap_other { public: typedef T type; }; template<typename T> class unwrap_other<other<T> > { public: typedef T type; };}# else // no partial specialization}} // namespace boost::python#include <boost/type.hpp>namespace boost { namespace python {namespace detail{ typedef char (&yes_other_t)[1]; typedef char (&no_other_t)[2]; no_other_t is_other_test(...); template<typename T> yes_other_t is_other_test(type< other<T> >); template<bool wrapped> struct other_unwrapper { template <class T> struct apply { typedef T type; }; }; template<> struct other_unwrapper<true> { template <class T> struct apply { typedef typename T::type type; }; }; template<typename T> class is_other { public: BOOST_STATIC_CONSTANT( bool, value = ( sizeof(detail::is_other_test(type<T>())) == sizeof(detail::yes_other_t))); }; template <typename T> class unwrap_other : public detail::other_unwrapper< is_other<T>::value >::template apply<T> {};}# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION}} // namespace boost::python#endif // #ifndef OTHER_DWA20020601_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -