#include <boost/mpi/python/config.hpp>
#include <boost/python/object.hpp>
#include <boost/python/str.hpp>
#include <boost/python/extract.hpp>
#include <memory>
#include <map>
#include <boost/function/function3.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/if.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/array.hpp>
#include <boost/assert.hpp>
#include <boost/type_traits/is_fundamental.hpp>
#include <boost/mpi/python.hpp>
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::python | |
boost::python::detail | |
boost::mpi | |
boost::python::api | |
boost::mpi::python | |
Macros | |
#define | BOOST_MPI_PYTHON_FORWARD_ONLY |
#define | BOOST_PYTHON_SERIALIZATION_ARCHIVE(IArchiver, OArchiver) |
Declare IArchive and OArchive as a Boost.Serialization archives that can be used for Python objects. More... | |
#define | BOOST_PYTHON_DIRECT_SERIALIZATION_ARCHIVE(IArchiver, OArchiver) |
Declare IArchiver and OArchiver as a Boost.Serialization archives that can be used for Python objects and C++ objects wrapped in Python. More... | |
#define | BOOST_PYTHON_DIRECT_SERIALIZATION_ARCHIVE_IMPL(IArchiver, OArchiver) |
Define the implementation for Boost.Serialization archivers that can be used for Python objects and C++ objects wrapped in Python. More... | |
Functions | |
template<typename IArchiver , typename OArchiver > | |
direct_serialization_table < IArchiver, OArchiver > & | boost::python::detail::get_direct_serialization_table () |
Retrieve the direct-serialization table for an IArchiver/OArchiver pair. More... | |
template<typename IArchiver , typename OArchiver , typename T > | |
void | boost::python::register_serialized (const T &value=T(), PyTypeObject *type=0) |
Register the type T for direct serialization. More... | |
template<typename Archiver > | |
void | boost::python::detail::save_impl (Archiver &ar, const boost::python::object &obj, const unsigned int, mpl::false_) |
Save a Python object by pickling it. More... | |
template<typename Archiver > | |
void | boost::python::detail::save_impl (Archiver &ar, const boost::python::object &obj, const unsigned int version, mpl::true_) |
Try to save a Python object by directly serializing it; fall back on pickling if required. More... | |
template<typename Archiver > | |
void | boost::python::detail::load_impl (Archiver &ar, boost::python::object &obj, const unsigned int, mpl::false_) |
Load a Python object by unpickling it. More... | |
template<typename Archiver > | |
void | boost::python::detail::load_impl (Archiver &ar, boost::python::object &obj, const unsigned int version, mpl::true_) |
Try to load a Python object by directly deserializing it; fall back on unpickling if required. More... | |
template<typename Archiver > | |
void | boost::python::save (Archiver &ar, const boost::python::object &obj, const unsigned int version) |
template<typename Archiver > | |
void | boost::python::load (Archiver &ar, boost::python::object &obj, const unsigned int version) |
template<typename Archive > | |
void | boost::python::serialize (Archive &ar, boost::python::object &obj, const unsigned int version) |
template<> | |
BOOST_MPI_PYTHON_DECL direct_serialization_table < ::boost::mpi::packed_iarchive,::boost::mpi::packed_oarchive > & | boost::python::detail::get_direct_serialization_table< ::boost::mpi::packed_iarchive,::boost::mpi::packed_oarchive > () |
template<typename T > | |
void | boost::mpi::python::register_serialized (const T &value=T(), PyTypeObject *type=0) |
Register the type T for direct serialization within Boost.MPI. More... | |
#define BOOST_MPI_PYTHON_FORWARD_ONLY |
#define BOOST_PYTHON_DIRECT_SERIALIZATION_ARCHIVE | ( | IArchiver, | |
OArchiver | |||
) |
Declare IArchiver and OArchiver as a Boost.Serialization archives that can be used for Python objects and C++ objects wrapped in Python.
This macro can only be expanded from the global namespace. It only requires that IArchiver and OArchiver be forward-declared. However, note that you will also need to write BOOST_PYTHON_DIRECT_SERIALIZATION_ARCHIVE_IMPL(IArchiver, OArchiver) in one of your translation units.
DPG PICK UP HERE
#define BOOST_PYTHON_DIRECT_SERIALIZATION_ARCHIVE_IMPL | ( | IArchiver, | |
OArchiver | |||
) |
Define the implementation for Boost.Serialization archivers that can be used for Python objects and C++ objects wrapped in Python.
This macro can only be expanded from the global namespace. It only requires that IArchiver and OArchiver be forward-declared. Before using this macro, you will need to declare IArchiver and OArchiver as direct serialization archives with BOOST_PYTHON_DIRECT_SERIALIZATION_ARCHIVE(IArchiver, OArchiver).
#define BOOST_PYTHON_SERIALIZATION_ARCHIVE | ( | IArchiver, | |
OArchiver | |||
) |
Declare IArchive and OArchive as a Boost.Serialization archives that can be used for Python objects.
This macro can only be expanded from the global namespace. It only requires that Archiver be forward-declared. IArchiver and OArchiver will only support Serialization of Python objects by pickling them. If the Archiver type should also support "direct" serialization (for C++ types), use BOOST_PYTHON_DIRECT_SERIALIZATION_ARCHIVE instead.