--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ossrv_pub/boost_apis/boost/python/long.hpp Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,68 @@
+// 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 LONG_DWA2002627_HPP
+# define LONG_DWA2002627_HPP
+
+# include <boost/python/detail/prefix.hpp>
+
+# include <boost/python/object.hpp>
+# include <boost/python/converter/pytype_object_mgr_traits.hpp>
+
+namespace boost { namespace python {
+
+namespace detail
+{
+ struct BOOST_PYTHON_DECL long_base : object
+ {
+ protected:
+ long_base(); // new long_
+ explicit long_base(object_cref rhs);
+ explicit long_base(object_cref rhs, object_cref base);
+
+ BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(long_base, object)
+
+ private:
+ static detail::new_non_null_reference call(object const&);
+ static detail::new_non_null_reference call(object const&, object const&);
+ };
+}
+
+class long_ : public detail::long_base
+{
+ typedef detail::long_base base;
+ public:
+ long_() {} // new long_
+
+ template <class T>
+ explicit long_(T const& rhs)
+ : detail::long_base(object(rhs))
+ {
+ }
+
+ template <class T, class U>
+ explicit long_(T const& rhs, U const& base)
+ : detail::long_base(object(rhs), object(base))
+ {
+ }
+
+ public: // implementation detail -- for internal use only
+ BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(long_, base)
+};
+
+//
+// Converter Specializations
+//
+namespace converter
+{
+ template <>
+ struct object_manager_traits<long_>
+ : pytype_object_manager_traits<&PyLong_Type,long_>
+ {
+ };
+}
+
+}} // namespace boost::python
+
+#endif // LONG_DWA2002627_HPP