TR1.hpp
Go to the documentation of this file.
1 
4 #ifndef GOSU_TR1_HPP
5 #define GOSU_TR1_HPP
6 
7 #include <memory>
8 
9 #if defined(_MSC_VER) || defined(_LIBCPP_MEMORY)
10  #include <array>
11  #include <functional>
12  namespace std
13  {
14  namespace tr1
15  {
16  typedef unsigned char uint8_t;
17  typedef unsigned short uint16_t;
18  typedef unsigned int uint32_t;
19  typedef unsigned long long uint64_t;
20  typedef signed char int8_t;
21  typedef signed short int16_t;
22  typedef signed int int32_t;
23  typedef signed long long int64_t;
24 
25  #ifdef _LIBCPP_MEMORY
26  namespace placeholders
27  {
28  using namespace std::placeholders;
29  }
30  using std::array;
31  using std::bind;
32  using std::function;
33  using std::shared_ptr;
34  #endif
35  }
36  }
37 #else
38  #include <tr1/array>
39  #include <tr1/memory>
40  #include <tr1/functional>
41  #if defined(__GNUC__) && (__GNUC__ < 4 || __GNUC_MINOR__ < 2)
42  #include <stdint.h>
43  namespace std
44  {
45  namespace tr1
46  {
47  using ::int8_t; using ::int16_t; using ::int32_t; using ::int64_t;
48  using ::uint8_t; using ::uint16_t; using ::uint32_t; using ::uint64_t;
49  }
50  }
51  #else
52  #include <tr1/cstdint>
53  #endif
54 #endif
55 
56 #endif