the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 114 lines 2.1 kB view raw
1#ifndef OTHER_DWA20020601_HPP 2# define OTHER_DWA20020601_HPP 3 4# include <boost/python/detail/prefix.hpp> 5// Copyright David Abrahams 2002. 6// Distributed under the Boost Software License, Version 1.0. (See 7// accompanying file LICENSE_1_0.txt or copy at 8// http://www.boost.org/LICENSE_1_0.txt) 9 10# if _MSC_VER+0 >= 1020 11# pragma once 12# endif 13 14# include <boost/config.hpp> 15 16namespace boost { namespace python { 17 18template<class T> struct other 19{ 20 typedef T type; 21}; 22 23# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 24namespace detail 25{ 26 template<typename T> 27 class is_other 28 { 29 public: 30 BOOST_STATIC_CONSTANT(bool, value = false); 31 }; 32 33 template<typename T> 34 class is_other<other<T> > 35 { 36 public: 37 BOOST_STATIC_CONSTANT(bool, value = true); 38 }; 39 40 template<typename T> 41 class unwrap_other 42 { 43 public: 44 typedef T type; 45 }; 46 47 template<typename T> 48 class unwrap_other<other<T> > 49 { 50 public: 51 typedef T type; 52 }; 53} 54# else // no partial specialization 55 56}} // namespace boost::python 57 58#include <boost/type.hpp> 59 60namespace boost { namespace python { 61 62namespace detail 63{ 64 typedef char (&yes_other_t)[1]; 65 typedef char (&no_other_t)[2]; 66 67 no_other_t is_other_test(...); 68 69 template<typename T> 70 yes_other_t is_other_test(type< other<T> >); 71 72 template<bool wrapped> 73 struct other_unwrapper 74 { 75 template <class T> 76 struct apply 77 { 78 typedef T type; 79 }; 80 }; 81 82 template<> 83 struct other_unwrapper<true> 84 { 85 template <class T> 86 struct apply 87 { 88 typedef typename T::type type; 89 }; 90 }; 91 92 template<typename T> 93 class is_other 94 { 95 public: 96 BOOST_STATIC_CONSTANT( 97 bool, value = ( 98 sizeof(detail::is_other_test(type<T>())) 99 == sizeof(detail::yes_other_t))); 100 }; 101 102 template <typename T> 103 class unwrap_other 104 : public detail::other_unwrapper< 105 is_other<T>::value 106 >::template apply<T> 107 {}; 108} 109 110# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 111 112}} // namespace boost::python 113 114#endif // #ifndef OTHER_DWA20020601_HPP