ITK  4.9.0
Insight Segmentation and Registration Toolkit
itkIsNumber.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef itkIsNumber_h
20 #define itkIsNumber_h
21 
23 #include "itkIntTypes.h"
24 
25 namespace itk
26 {
28 namespace mpl
29 {
36 template <typename T>
37 struct IsNumber : FalseType {};
38 
40 template <> struct IsNumber<unsigned char> : TrueType {};
41 template <> struct IsNumber<signed char> : TrueType {};
42 template <> struct IsNumber<unsigned short int> : TrueType {};
43 template <> struct IsNumber<signed short int> : TrueType {};
44 template <> struct IsNumber<signed int> : TrueType {};
45 template <> struct IsNumber<unsigned int> : TrueType {};
46 template <> struct IsNumber<signed long int> : TrueType {};
47 template <> struct IsNumber<unsigned long int> : TrueType {};
48 template <> struct IsNumber<signed long long int> : TrueType {};
49 template <> struct IsNumber<unsigned long long int> : TrueType {};
50 template <> struct IsNumber<float> : TrueType {};
51 template <> struct IsNumber<double> : TrueType {};
52 template <> struct IsNumber<long double> : TrueType {};
54 
55 } // itk::mpl namespace
57 } // itk namespace
58 
59 #endif // itkIsNumber_h