1 // -*- C++ -*- 2 //===--------------------------- inttypes.h -------------------------------===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef _LIBCPP_INTTYPES_H 11 // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T 12 // is defined until an inclusion of it without _STD_TYPES_T occurs, in which 13 // case the header guard macro is defined. 14 #if !defined(_AIX) || !defined(_STD_TYPES_T) 15 #define _LIBCPP_INTTYPES_H 16 #endif // _STD_TYPES_T 17 18 /* 19 inttypes.h synopsis 20 21 This entire header is C99 / C++0X 22 23 #include <stdint.h> // <cinttypes> includes <cstdint> 24 25 Macros: 26 27 PRId8 28 PRId16 29 PRId32 30 PRId64 31 32 PRIdLEAST8 33 PRIdLEAST16 34 PRIdLEAST32 35 PRIdLEAST64 36 37 PRIdFAST8 38 PRIdFAST16 39 PRIdFAST32 40 PRIdFAST64 41 42 PRIdMAX 43 PRIdPTR 44 45 PRIi8 46 PRIi16 47 PRIi32 48 PRIi64 49 50 PRIiLEAST8 51 PRIiLEAST16 52 PRIiLEAST32 53 PRIiLEAST64 54 55 PRIiFAST8 56 PRIiFAST16 57 PRIiFAST32 58 PRIiFAST64 59 60 PRIiMAX 61 PRIiPTR 62 63 PRIo8 64 PRIo16 65 PRIo32 66 PRIo64 67 68 PRIoLEAST8 69 PRIoLEAST16 70 PRIoLEAST32 71 PRIoLEAST64 72 73 PRIoFAST8 74 PRIoFAST16 75 PRIoFAST32 76 PRIoFAST64 77 78 PRIoMAX 79 PRIoPTR 80 81 PRIu8 82 PRIu16 83 PRIu32 84 PRIu64 85 86 PRIuLEAST8 87 PRIuLEAST16 88 PRIuLEAST32 89 PRIuLEAST64 90 91 PRIuFAST8 92 PRIuFAST16 93 PRIuFAST32 94 PRIuFAST64 95 96 PRIuMAX 97 PRIuPTR 98 99 PRIx8 100 PRIx16 101 PRIx32 102 PRIx64 103 104 PRIxLEAST8 105 PRIxLEAST16 106 PRIxLEAST32 107 PRIxLEAST64 108 109 PRIxFAST8 110 PRIxFAST16 111 PRIxFAST32 112 PRIxFAST64 113 114 PRIxMAX 115 PRIxPTR 116 117 PRIX8 118 PRIX16 119 PRIX32 120 PRIX64 121 122 PRIXLEAST8 123 PRIXLEAST16 124 PRIXLEAST32 125 PRIXLEAST64 126 127 PRIXFAST8 128 PRIXFAST16 129 PRIXFAST32 130 PRIXFAST64 131 132 PRIXMAX 133 PRIXPTR 134 135 SCNd8 136 SCNd16 137 SCNd32 138 SCNd64 139 140 SCNdLEAST8 141 SCNdLEAST16 142 SCNdLEAST32 143 SCNdLEAST64 144 145 SCNdFAST8 146 SCNdFAST16 147 SCNdFAST32 148 SCNdFAST64 149 150 SCNdMAX 151 SCNdPTR 152 153 SCNi8 154 SCNi16 155 SCNi32 156 SCNi64 157 158 SCNiLEAST8 159 SCNiLEAST16 160 SCNiLEAST32 161 SCNiLEAST64 162 163 SCNiFAST8 164 SCNiFAST16 165 SCNiFAST32 166 SCNiFAST64 167 168 SCNiMAX 169 SCNiPTR 170 171 SCNo8 172 SCNo16 173 SCNo32 174 SCNo64 175 176 SCNoLEAST8 177 SCNoLEAST16 178 SCNoLEAST32 179 SCNoLEAST64 180 181 SCNoFAST8 182 SCNoFAST16 183 SCNoFAST32 184 SCNoFAST64 185 186 SCNoMAX 187 SCNoPTR 188 189 SCNu8 190 SCNu16 191 SCNu32 192 SCNu64 193 194 SCNuLEAST8 195 SCNuLEAST16 196 SCNuLEAST32 197 SCNuLEAST64 198 199 SCNuFAST8 200 SCNuFAST16 201 SCNuFAST32 202 SCNuFAST64 203 204 SCNuMAX 205 SCNuPTR 206 207 SCNx8 208 SCNx16 209 SCNx32 210 SCNx64 211 212 SCNxLEAST8 213 SCNxLEAST16 214 SCNxLEAST32 215 SCNxLEAST64 216 217 SCNxFAST8 218 SCNxFAST16 219 SCNxFAST32 220 SCNxFAST64 221 222 SCNxMAX 223 SCNxPTR 224 225 Types: 226 227 imaxdiv_t 228 229 intmax_t imaxabs(intmax_t j); 230 imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom); 231 intmax_t strtoimax(const char* restrict nptr, char** restrict endptr, int base); 232 uintmax_t strtoumax(const char* restrict nptr, char** restrict endptr, int base); 233 intmax_t wcstoimax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); 234 uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); 235 236 */ 237 238 #include <__config> 239 240 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 241 #pragma GCC system_header 242 #endif 243 244 /* C99 stdlib (e.g. glibc < 2.18) does not provide format macros needed 245 for C++11 unless __STDC_FORMAT_MACROS is defined 246 */ 247 #if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS) 248 # define __STDC_FORMAT_MACROS 249 #endif 250 251 #include_next <inttypes.h> 252 253 #ifdef __cplusplus 254 255 #include <stdint.h> 256 257 #undef imaxabs 258 #undef imaxdiv 259 260 #endif // __cplusplus 261 262 #endif // _LIBCPP_INTTYPES_H 263