Warning, file /include/boost/python/long.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005 #ifndef LONG_DWA2002627_HPP
0006 # define LONG_DWA2002627_HPP
0007
0008 # include <boost/python/detail/prefix.hpp>
0009
0010 # include <boost/python/object.hpp>
0011 # include <boost/python/converter/pytype_object_mgr_traits.hpp>
0012
0013 namespace boost { namespace python {
0014
0015 namespace detail
0016 {
0017 struct BOOST_PYTHON_DECL long_base : object
0018 {
0019 protected:
0020 long_base();
0021 explicit long_base(object_cref rhs);
0022 explicit long_base(object_cref rhs, object_cref base);
0023
0024 BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(long_base, object)
0025
0026 private:
0027 static detail::new_reference call(object const&);
0028 static detail::new_reference call(object const&, object const&);
0029 };
0030 }
0031
0032 class long_ : public detail::long_base
0033 {
0034 typedef detail::long_base base;
0035 public:
0036 long_() {}
0037
0038 template <class T>
0039 explicit long_(T const& rhs)
0040 : detail::long_base(object(rhs))
0041 {
0042 }
0043
0044 template <class T, class U>
0045 explicit long_(T const& rhs, U const& base)
0046 : detail::long_base(object(rhs), object(base))
0047 {
0048 }
0049
0050 public:
0051 BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(long_, base)
0052 };
0053
0054
0055
0056
0057 namespace converter
0058 {
0059 template <>
0060 struct object_manager_traits<long_>
0061 : pytype_object_manager_traits<&PyLong_Type,long_>
0062 {
0063 };
0064 }
0065
0066 }}
0067
0068 #endif