the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1// (C) Copyright John Maddock 2005.
2// Use, modification and distribution are subject to the
3// Boost Software License, Version 1.0. (See accompanying file
4// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6#ifndef BOOST_TR1_FUNCTIONAL_HPP_INCLUDED
7# define BOOST_TR1_FUNCTIONAL_HPP_INCLUDED
8# include <boost/tr1/detail/config.hpp>
9# include <functional>
10
11#if defined(BOOST_HAS_TR1_REFERENCE_WRAPPER) \
12 || defined(BOOST_HAS_TR1_RESULT_OF)\
13 || defined(BOOST_HAS_TR1_MEM_FN)\
14 || defined(BOOST_HAS_TR1_BIND)\
15 || defined(BOOST_HAS_TR1_FUNCTION)\
16 || defined(BOOST_HAS_TR1_HASH)
17# if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
18# include_next BOOST_TR1_HEADER(functional)
19# else
20# include <boost/tr1/detail/config_all.hpp>
21# include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(functional))
22# endif
23#endif
24
25#ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER
26
27#include <boost/ref.hpp>
28
29namespace std{ namespace tr1{
30
31 using ::boost::reference_wrapper;
32 using ::boost::ref;
33 using ::boost::cref;
34
35} }
36
37#endif // BOOST_HAS_TR1_REFERENCE_WRAPPER
38
39#if !defined(BOOST_HAS_TR1_RESULT_OF)\
40 && !defined(BOOST_NO_SFINAE) && \
41 !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
42
43//
44// we can only actually include result_of.hpp if the compiler
45// really does support it, otherwise we just get endless errors...
46//
47#include <boost/utility/result_of.hpp>
48
49namespace std{ namespace tr1{
50
51 template<class F>
52 struct result_of
53 : ::boost::tr1_result_of<F>
54 {};
55
56} }
57
58#endif // BOOST_HAS_TR1_RESULT_OF
59
60#ifndef BOOST_HAS_TR1_MEM_FN
61// mem_fn:
62#include <boost/mem_fn.hpp>
63
64namespace std{ namespace tr1{
65
66using boost::mem_fn;
67
68} }
69
70#endif // BOOST_HAS_TR1_MEM_FN
71
72
73#ifndef BOOST_HAS_TR1_BIND
74// Bind:
75#include <boost/bind.hpp>
76
77namespace std{ namespace tr1{
78
79 using ::boost::is_bind_expression;
80 using ::boost::is_placeholder;
81 using ::boost::bind;
82 namespace placeholders {
83#ifndef BOOST_BIND_NO_PLACEHOLDERS
84 using ::_1;
85 using ::_2;
86 using ::_3;
87 using ::_4;
88 using ::_5;
89 using ::_6;
90 using ::_7;
91 using ::_8;
92 using ::_9;
93#endif
94 } // placeholders
95
96} }
97
98#endif
99
100#ifndef BOOST_HAS_TR1_FUNCTION
101// polymorphic function object wrappers:
102#include <boost/function.hpp>
103#include <boost/detail/workaround.hpp>
104
105#if !BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
106 && !BOOST_WORKAROUND(BOOST_MSVC, < 1310) \
107 && !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
108namespace std{ namespace tr1{
109
110 using ::boost::bad_function_call;
111 using ::boost::function;
112 using ::boost::swap;
113
114}}
115#endif
116
117#endif // BOOST_HAS_TR1_FUNCTION
118
119#ifndef BOOST_HAS_TR1_HASH
120//
121// This header can get included by boost/hash.hpp
122// leading to cyclic dependencies. As a workaround
123// we forward declare boost::hash and include
124// the actual header later.
125//
126namespace boost{
127template <class T> struct hash;
128}
129
130namespace std{ namespace tr1{
131 //using ::boost::hash;
132
133 template <class T>
134 struct hash : public boost::hash<T>
135 {
136 };
137
138}}
139
140#include <boost/functional/hash.hpp>
141
142#endif
143
144#endif
145