同步操作将从 cutself/proj 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
// 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 ENUM_DWA200298_HPP# define ENUM_DWA200298_HPP# include <boost/python/detail/prefix.hpp># include <boost/python/object/enum_base.hpp># include <boost/python/converter/rvalue_from_python_data.hpp># include <boost/python/converter/registered.hpp>namespace boost { namespace python {template <class T>struct enum_ : public objects::enum_base{typedef objects::enum_base base;// Declare a new enumeration type in the current scope()enum_(char const* name, char const* doc = 0);// Add a new enumeration value with the given name and value.inline enum_<T>& value(char const* name, T);// Add all of the defined enumeration values to the current scope with the// same names used here.inline enum_<T>& export_values();private:static PyObject* to_python(void const* x);static void* convertible_from_python(PyObject* obj);static void construct(PyObject* obj, converter::rvalue_from_python_stage1_data* data);};template <class T>inline enum_<T>::enum_(char const* name, char const* doc ): base(name, &enum_<T>::to_python, &enum_<T>::convertible_from_python, &enum_<T>::construct, type_id<T>(), doc){}// This is the conversion function that gets registered for converting// these enums to Python.template <class T>PyObject* enum_<T>::to_python(void const* x){return base::to_python(converter::registered<T>::converters.m_class_object, static_cast<long>(*(T const*)x));}//// The following two static functions serve as the elements of an// rvalue from_python converter for the enumeration type.//// This checks that a given Python object can be converted to the// enumeration type.template <class T>void* enum_<T>::convertible_from_python(PyObject* obj){return PyObject_IsInstance(obj, upcast<PyObject>(converter::registered<T>::converters.m_class_object))? obj : 0;}// Constructs an instance of the enumeration type in the from_python// data.template <class T>void enum_<T>::construct(PyObject* obj, converter::rvalue_from_python_stage1_data* data){#if PY_VERSION_HEX >= 0x03000000T x = static_cast<T>(PyLong_AS_LONG(obj));#elseT x = static_cast<T>(PyInt_AS_LONG(obj));#endifvoid* const storage = ((converter::rvalue_from_python_storage<T>*)data)->storage.bytes;new (storage) T(x);data->convertible = storage;}template <class T>inline enum_<T>& enum_<T>::value(char const* name, T x){this->add_value(name, static_cast<long>(x));return *this;}template <class T>inline enum_<T>& enum_<T>::export_values(){this->base::export_values();return *this;}}} // namespace boost::python#endif // ENUM_DWA200298_HPP
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。