Spatial C++ Library
Generic Multi-Dimensional Containers and Spatial Operations
spatial_import_type_traits.hpp
1 // -*- C++ -*-
2 //
3 // Copyright Sylvain Bougerel 2009 - 2013.
4 // Distributed under the Boost Software License, Version 1.0.
5 // (See accompanying file COPYING or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 
19 #ifndef SPATIAL_IMPORT_TYPE_TRAITS
20 #define SPATIAL_IMPORT_TYPE_TRAITS
21 
22 #ifdef SPATIAL_TYPE_TRAITS_NAMESPACE
23 # undef SPATIAL_TYPE_TRAITS_NAMESPACE
24 #endif
25 
26 #if defined(__LIBCPP_VERSION) || __cplusplus >= 201103L
27 # include <type_traits>
28 # define SPATIAL_TYPE_TRAITS_NAMESPACE std
29 #elif defined(__GLIBCXX__)
30 # include <tr1/type_traits>
31 # define SPATIAL_TYPE_TRAITS_NAMESPACE std::tr1
32 #else
33 # ifdef __IBMCPP__
34 # define __IBMCPP_TR1__
35 # endif
36 # include <type_traits>
37 # define SPATIAL_TYPE_TRAITS_NAMESPACE std::tr1
38 #endif
39 
40 namespace spatial
41 {
42  namespace import
43  {
44  using SPATIAL_TYPE_TRAITS_NAMESPACE::is_arithmetic;
45  using SPATIAL_TYPE_TRAITS_NAMESPACE::is_empty;
46  using SPATIAL_TYPE_TRAITS_NAMESPACE::is_floating_point;
47  using SPATIAL_TYPE_TRAITS_NAMESPACE::true_type;
48  using SPATIAL_TYPE_TRAITS_NAMESPACE::false_type;
49  }
50 }
51 
52 #endif // SPATIAL_IMPORT_TYPE_TRAITS
The main namespace used in the library.
Definition: algorithm.hpp:23