ITK  6.0.0
Insight Toolkit
itkIntTypes.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
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  * https://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 #ifndef itkIntTypes_h
19 #define itkIntTypes_h
20 
21 #include "itkMacro.h"
22 
23 #include <cstdint>
24 #include <climits>
25 
26 namespace itk
27 {
28 using std::int8_t;
29 using std::uint8_t;
30 using std::int16_t;
31 using std::uint16_t;
32 using std::int32_t;
33 using std::uint32_t;
34 using std::int64_t;
35 using std::uint64_t;
36 
37 using std::int_least8_t;
38 using std::uint_least8_t;
39 using std::int_least16_t;
40 using std::uint_least16_t;
41 using std::int_least32_t;
42 using std::uint_least32_t;
43 using std::int_least64_t;
44 using std::uint_least64_t;
45 
46 using std::int_fast8_t;
47 using std::uint_fast8_t;
48 using std::int_fast16_t;
49 using std::uint_fast16_t;
50 using std::int_fast32_t;
51 using std::uint_fast32_t;
52 using std::int_fast64_t;
53 using std::uint_fast64_t;
54 
55 using std::intmax_t;
56 using std::uintmax_t;
57 
58 using std::intptr_t;
59 using std::uintptr_t;
60 
61 using std::size_t;
62 using std::ptrdiff_t;
63 
64 
65 #if defined(ITK_USE_64BITS_IDS) && ((ULLONG_MAX != ULONG_MAX) || (LLONG_MAX != LONG_MAX))
66 
69 using SizeValueType = uint64_t;
70 
74 
76 using IndexValueType = int64_t;
77 
80 using OffsetValueType = int64_t;
81 
82 #else
83 
86 using SizeValueType = unsigned long;
87 
91 
93 using IndexValueType = long;
94 
97 using OffsetValueType = long;
98 
99 #endif
100 
102 using ThreadIdType = unsigned int;
103 
106 
107 } // namespace itk
108 
109 #endif /* itkIntTypes_h */
IdentifierType
unsigned long IdentifierType
Definition: itkQuadEdgeMeshEulerOperatorsTestHelper.h:24
itk::ModifiedTimeType
SizeValueType ModifiedTimeType
Definition: itkIntTypes.h:105
itk::IndexValueType
long IndexValueType
Definition: itkIntTypes.h:93
itk::ThreadIdType
unsigned int ThreadIdType
Definition: itkIntTypes.h:102
itkMacro.h
itk::OffsetValueType
long OffsetValueType
Definition: itkIntTypes.h:97
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnatomicalOrientation.h:29
itk::IdentifierType
SizeValueType IdentifierType
Definition: itkIntTypes.h:90
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:86