the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 68 lines 1.6 kB view raw
1// Copyright David Abrahams 2002. 2// Distributed under the Boost Software License, Version 1.0. (See 3// accompanying file LICENSE_1_0.txt or copy at 4// http://www.boost.org/LICENSE_1_0.txt) 5#ifndef LONG_DWA2002627_HPP 6# define LONG_DWA2002627_HPP 7 8# include <boost/python/detail/prefix.hpp> 9 10# include <boost/python/object.hpp> 11# include <boost/python/converter/pytype_object_mgr_traits.hpp> 12 13namespace boost { namespace python { 14 15namespace detail 16{ 17 struct BOOST_PYTHON_DECL long_base : object 18 { 19 protected: 20 long_base(); // new long_ 21 explicit long_base(object_cref rhs); 22 explicit long_base(object_cref rhs, object_cref base); 23 24 BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(long_base, object) 25 26 private: 27 static detail::new_non_null_reference call(object const&); 28 static detail::new_non_null_reference call(object const&, object const&); 29 }; 30} 31 32class long_ : public detail::long_base 33{ 34 typedef detail::long_base base; 35 public: 36 long_() {} // new long_ 37 38 template <class T> 39 explicit long_(T const& rhs) 40 : detail::long_base(object(rhs)) 41 { 42 } 43 44 template <class T, class U> 45 explicit long_(T const& rhs, U const& base) 46 : detail::long_base(object(rhs), object(base)) 47 { 48 } 49 50 public: // implementation detail -- for internal use only 51 BOOST_PYTHON_FORWARD_OBJECT_CONSTRUCTORS(long_, base) 52}; 53 54// 55// Converter Specializations 56// 57namespace converter 58{ 59 template <> 60 struct object_manager_traits<long_> 61 : pytype_object_manager_traits<&PyLong_Type,long_> 62 { 63 }; 64} 65 66}} // namespace boost::python 67 68#endif // LONG_DWA2002627_HPP