Alchemy  1.0
A framework to robustly process network messages and structured data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
tr1_helper.h
Go to the documentation of this file.
1 /// @file Pb/detail/tr1_helper.h
2 /// Contains standard library definitions that may be missing for TR1 releases.
3 ///
4 /// The MIT License(MIT)
5 /// @copyright 2014 Paul M Watt
6 // ****************************************************************************
7 #ifndef TR1_HELPER_H_INCLUDED
8 #define TR1_HELPER_H_INCLUDED
9 // Includes *******************************************************************
10 
11 // TODO: Need to add more correct feature support detection for the various
12 // compilers that we are trying to support.
13 //
14 // I discovered the yvals.h header for VS compilers contain flags
15 // that indicate the features that are supported.
16 //
17 // I need to investigate support like this for other compilers.
18 //
19 
20 #if defined(_WIN32)
21 
22 # if defined(_HAS_TR1)
23 // Static Conditional Test ****************************************************
24 #include <Pb/detail/conditional.h>
25 
26 // I know this is just as bad as crossing the streams,
27 // but we'll fix this as soon as a suitable replacement is discovered.
28 // (Please recognize "soon" is a relative term...).
29 namespace std
30 {
31 using Pb::conditional;
32 using namespace std::tr1;
33 }
34 
35 typedef char int8_t;
36 typedef short int16_t;
37 typedef long int32_t;
38 typedef long long int64_t;
39 
40 typedef unsigned char uint8_t;
41 typedef unsigned short uint16_t;
42 typedef unsigned long uint32_t;
43 typedef unsigned long long uint64_t;
44 
45 # else
46 # include <cstdint>
47 # endif
48 #endif
49 
50 
51 #endif