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
26namespace itk
27{
28using std::int8_t;
29using std::uint8_t;
30using std::int16_t;
31using std::uint16_t;
32using std::int32_t;
33using std::uint32_t;
34using std::int64_t;
35using std::uint64_t;
36
37using std::int_least8_t;
38using std::uint_least8_t;
39using std::int_least16_t;
40using std::uint_least16_t;
41using std::int_least32_t;
42using std::uint_least32_t;
43using std::int_least64_t;
44using std::uint_least64_t;
45
46using std::int_fast8_t;
47using std::uint_fast8_t;
48using std::int_fast16_t;
49using std::uint_fast16_t;
50using std::int_fast32_t;
51using std::uint_fast32_t;
52using std::int_fast64_t;
53using std::uint_fast64_t;
54
55using std::intmax_t;
56using std::uintmax_t;
57
58using std::intptr_t;
59using std::uintptr_t;
60
61
62#if defined(ITK_USE_64BITS_IDS) && ((ULLONG_MAX != ULONG_MAX) || (LLONG_MAX != LONG_MAX))
63
66using SizeValueType = uint64_t;
67
71
73using IndexValueType = int64_t;
74
77using OffsetValueType = int64_t;
78
79#else
80
83using SizeValueType = unsigned long;
84
88
90using IndexValueType = long;
91
94using OffsetValueType = long;
95
96#endif
97
99using ThreadIdType = unsigned int;
100
103
104} // namespace itk
105
106#endif /* itkIntTypes_h */
unsigned long IdentifierType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType
Definition: itkIntTypes.h:99
long IndexValueType
Definition: itkIntTypes.h:90
SizeValueType IdentifierType
Definition: itkIntTypes.h:87
SizeValueType ModifiedTimeType
Definition: itkIntTypes.h:102
unsigned long SizeValueType
Definition: itkIntTypes.h:83
long OffsetValueType
Definition: itkIntTypes.h:94