TensorMacros.h
Go to the documentation of this file.
1 // This file is part of Eigen, a lightweight C++ template library
2 // for linear algebra.
3 //
4 // Copyright (C) 2015 Benoit Steiner <benoit.steiner.goog@gmail.com>
5 //
6 // This Source Code Form is subject to the terms of the Mozilla
7 // Public License v. 2.0. If a copy of the MPL was not distributed
8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 
10 #ifndef EIGEN_CXX11_TENSOR_TENSOR_META_MACROS_H
11 #define EIGEN_CXX11_TENSOR_TENSOR_META_MACROS_H
12 
13 
29 // SFINAE requires variadic templates
30 #ifndef __CUDACC__
31 #if EIGEN_HAS_VARIADIC_TEMPLATES
32  // SFINAE doesn't work for gcc <= 4.7
33  #ifdef EIGEN_COMP_GNUC
34  #if EIGEN_GNUC_AT_LEAST(4,8)
35  #define EIGEN_HAS_SFINAE
36  #endif
37  #else
38  #define EIGEN_HAS_SFINAE
39  #endif
40 #endif
41 #endif
42 
43 #define EIGEN_SFINAE_ENABLE_IF( __condition__ ) \
44  typename internal::enable_if< ( __condition__ ) , int >::type = 0
45 
46 
47 #if EIGEN_HAS_CONSTEXPR
48 #define EIGEN_CONSTEXPR constexpr
49 #else
50 #define EIGEN_CONSTEXPR
51 #endif
52 
53 
54 #endif


hebiros
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:09:23