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

📄 pickle_support.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
字号:
//  (C) Copyright R.W. Grosse-Kunstleve 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 BOOST_PYTHON_OBJECT_PICKLE_SUPPORT_RWGK20020603_HPP# define BOOST_PYTHON_OBJECT_PICKLE_SUPPORT_RWGK20020603_HPP# include <boost/python/detail/prefix.hpp>namespace boost { namespace python {namespace api{  class object;}using api::object;class tuple;BOOST_PYTHON_DECL object const& make_instance_reduce_function();struct pickle_suite;namespace error_messages {  template <class T>  struct missing_pickle_suite_function_or_incorrect_signature {};  inline void must_be_derived_from_pickle_suite(pickle_suite const&) {}}namespace detail { struct pickle_suite_registration; }struct pickle_suite{  private:    struct inaccessible {};    friend struct detail::pickle_suite_registration;  public:    static inaccessible* getinitargs() { return 0; }    static inaccessible* getstate() { return 0; }    static inaccessible* setstate() { return 0; }    static bool getstate_manages_dict() { return false; }};namespace detail {  struct pickle_suite_registration  {    typedef pickle_suite::inaccessible inaccessible;    template <class Class_, class Tgetinitargs>    static    void    register_(      Class_& cl,      tuple (*getinitargs_fn)(Tgetinitargs),      inaccessible* (*getstate_fn)(),      inaccessible* (*setstate_fn)(),      bool)    {      cl.enable_pickling_(false);      cl.def("__getinitargs__", getinitargs_fn);    }    template <class Class_,              class Rgetstate, class Tgetstate,              class Tsetstate, class Ttuple>    static    void    register_(      Class_& cl,      inaccessible* (*getinitargs_fn)(),      Rgetstate (*getstate_fn)(Tgetstate),      void (*setstate_fn)(Tsetstate, Ttuple),      bool getstate_manages_dict)    {      cl.enable_pickling_(getstate_manages_dict);      cl.def("__getstate__", getstate_fn);      cl.def("__setstate__", setstate_fn);    }    template <class Class_,              class Tgetinitargs,              class Rgetstate, class Tgetstate,              class Tsetstate, class Ttuple>    static    void    register_(      Class_& cl,      tuple (*getinitargs_fn)(Tgetinitargs),      Rgetstate (*getstate_fn)(Tgetstate),      void (*setstate_fn)(Tsetstate, Ttuple),      bool getstate_manages_dict)    {      cl.enable_pickling_(getstate_manages_dict);      cl.def("__getinitargs__", getinitargs_fn);      cl.def("__getstate__", getstate_fn);      cl.def("__setstate__", setstate_fn);    }    template <class Class_>    static    void    register_(      Class_&,      ...)    {      typedef typename        error_messages::missing_pickle_suite_function_or_incorrect_signature<          Class_>::error_type error_type;    }  };  template <typename PickleSuiteType>  struct pickle_suite_finalize  : PickleSuiteType,    pickle_suite_registration  {};} // namespace detail}} // namespace boost::python#endif // BOOST_PYTHON_OBJECT_PICKLE_SUPPORT_RWGK20020603_HPP

⌨️ 快捷键说明

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