ITK  5.4.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 
62 #if defined(ITK_USE_64BITS_IDS) && ((ULLONG_MAX != ULONG_MAX) || (LLONG_MAX != LONG_MAX))
63 
66 using SizeValueType = uint64_t;
67 
71 
73 using IndexValueType = int64_t;
74 
77 using OffsetValueType = int64_t;
78 
79 #else
80 
83 using SizeValueType = unsigned long;
84 
88 
90 using IndexValueType = long;
91 
94 using OffsetValueType = long;
95 
96 #endif
97 
99 using ThreadIdType = unsigned int;
100 
103 
104 } // namespace itk
105 
106 #endif /* itkIntTypes_h */
IdentifierType
unsigned long IdentifierType
Definition: itkQuadEdgeMeshEulerOperatorsTestHelper.h:24
itk::ModifiedTimeType
SizeValueType ModifiedTimeType
Definition: itkIntTypes.h:102
itk::IndexValueType
long IndexValueType
Definition: itkIntTypes.h:90
itk::ThreadIdType
unsigned int ThreadIdType
Definition: itkIntTypes.h:99
itkMacro.h
itk::OffsetValueType
long OffsetValueType
Definition: itkIntTypes.h:94
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::IdentifierType
SizeValueType IdentifierType
Definition: itkIntTypes.h:87
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:83