diff -r 000000000000 -r bde4ae8d615e os/ossrv/ossrv_pub/boost_apis/boost/python/object/class.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/python/object/class.hpp Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,64 @@ +// Copyright David Abrahams 2001. +// 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 CLASS_DWA20011214_HPP +# define CLASS_DWA20011214_HPP + +# include +# include +# include +# include +# include + +namespace boost { namespace python { + +namespace objects { + +struct BOOST_PYTHON_DECL class_base : python::api::object +{ + // constructor + class_base( + char const* name // The name of the class + + , std::size_t num_types // A list of class_ids. The first is the type + , type_info const*const types // this is wrapping. The rest are the types of + // any bases. + + , char const* doc = 0 // Docstring, if any. + ); + + + // Implementation detail. Hiding this in the private section would + // require use of template friend declarations. + void enable_pickling_(bool getstate_manages_dict); + + protected: + void add_property( + char const* name, object const& fget, char const* docstr); + void add_property(char const* name, + object const& fget, object const& fset, char const* docstr); + + void add_static_property(char const* name, object const& fget); + void add_static_property(char const* name, object const& fget, object const& fset); + + // Retrieve the underlying object + void setattr(char const* name, object const&); + + // Set a special attribute in the class which tells Boost.Python + // to allocate extra bytes for embedded C++ objects in Python + // instances. + void set_instance_size(std::size_t bytes); + + // Set an __init__ function which throws an appropriate exception + // for abstract classes. + void def_no_init(); + + // Effects: + // setattr(self, staticmethod(getattr(self, method_name))) + void make_method_static(const char *method_name); +}; + +}}} // namespace boost::python::objects + +#endif // CLASS_DWA20011214_HPP