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