Alchemy  1.0
A framework to robustly process network messages and structured data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rvalue_ref.h
Go to the documentation of this file.
1 /// @file Pb/detail/rvalue_ref.h
2 /// Contains compiler version tests that indicate if rvalue references are supported.
3 ///
4 /// The MIT License(MIT)
5 /// @copyright 2014 Paul M Watt
6 // ****************************************************************************
7 #ifndef RVALUE_REF_H_INCLUDED
8 #define RVALUE_REF_H_INCLUDED
9 // Includes *******************************************************************
10 #include <utility>
11 
12 // RValue references are supported in these compilers:
13 // Visual Studio 2010
14 #if _MSC_VER >= 1600
15 
16 # define ALCHEMY_RVALUE_REF_SUPPORTED 1
17 
18 // Test for GCC > 4.3.0
19 #elif __GNUC__ > 4 || \
20  (__GNUC__ == 4 && (__GNUC_MINOR__ > 3 || \
21  (__GNUC_MINOR__ == 3 && \
22  __GNUC_PATCHLEVEL__ > 0)))
23 # define ALCHEMY_RVALUE_REF_SUPPORTED 1
24 
25 #else
26  // Compiler does not support rvalue references
27 //# define ALCHEMY_RVALUE_REF_SUPPORTED 0
28 #endif
29 
30 
31 #endif