TR1.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 #ifndef GOSU_TR1_HPP
00005 #define GOSU_TR1_HPP
00006 
00007 #include <memory>
00008 
00009 #if defined(_MSC_VER) || defined(_LIBCPP_MEMORY)
00010     #include <array>
00011     #include <functional>
00012     namespace std
00013     {
00014         namespace tr1
00015         {
00016             typedef unsigned char uint8_t;
00017             typedef unsigned short uint16_t;
00018             typedef unsigned int uint32_t;
00019             typedef unsigned long long uint64_t;
00020             typedef signed char int8_t;
00021             typedef signed short int16_t;
00022             typedef signed int int32_t;
00023             typedef signed long long int64_t;
00024             
00025             #ifdef _LIBCPP_MEMORY
00026             using std::array;
00027             using std::bind;
00028             using std::function;
00029             using std::shared_ptr;
00030             #endif
00031         }        
00032     }
00033 #else
00034     #include <tr1/array>
00035     #include <tr1/memory>
00036     #include <tr1/functional>
00037     #if defined(__GNUC__) && (__GNUC__ < 4 || __GNUC_MINOR__ < 2)
00038         #include <stdint.h>
00039         namespace std
00040         {
00041             namespace tr1
00042             {
00043                 using ::int8_t; using ::int16_t; using ::int32_t; using ::int64_t;
00044                 using ::uint8_t; using ::uint16_t; using ::uint32_t; using ::uint64_t;
00045             }
00046         }
00047     #else
00048         #include <tr1/cstdint>
00049     #endif
00050 #endif
00051 
00052 #endif