/src/core/stdc/inttypes.d

http://github.com/AlexeyProkhin/druntime · D · 259 lines · 200 code · 46 blank · 13 comment · 0 complexity · 7cdcc7df8290b8d0b142d0ad657411e9 MD5 · raw file

  1. /**
  2. * D header file for C99.
  3. *
  4. * Copyright: Copyright Sean Kelly 2005 - 2009.
  5. * License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
  6. * Authors: Sean Kelly
  7. * Standards: ISO/IEC 9899:1999 (E)
  8. */
  9. /* Copyright Sean Kelly 2005 - 2009.
  10. * Distributed under the Boost Software License, Version 1.0.
  11. * (See accompanying file LICENSE or copy at
  12. * http://www.boost.org/LICENSE_1_0.txt)
  13. */
  14. module core.stdc.inttypes;
  15. public import core.stdc.stddef; // for wchar_t
  16. public import core.stdc.stdint; // required by spec
  17. extern (C):
  18. @trusted: // Types and constants only.
  19. nothrow:
  20. struct imaxdiv_t
  21. {
  22. intmax_t quot,
  23. rem;
  24. }
  25. private alias immutable(char)* _cstr;
  26. enum _cstr PRId8 = "hhd";
  27. enum _cstr PRId16 = "hd";
  28. enum _cstr PRId32 = "ld";
  29. enum _cstr PRId64 = "lld";
  30. enum _cstr PRIdLEAST8 = "hhd";
  31. enum _cstr PRIdLEAST16 = "hd";
  32. enum _cstr PRIdLEAST32 = "ld";
  33. enum _cstr PRIdLEAST64 = "lld";
  34. enum _cstr PRIdFAST8 = "hhd";
  35. enum _cstr PRIdFAST16 = "d";
  36. enum _cstr PRIdFAST32 = "ld";
  37. enum _cstr PRIdFAST64 = "lld";
  38. enum _cstr PRIi8 = "hhi";
  39. enum _cstr PRIi16 = "hi";
  40. enum _cstr PRIi32 = "li";
  41. enum _cstr PRIi64 = "lli";
  42. enum _cstr PRIiLEAST8 = "hhi";
  43. enum _cstr PRIiLEAST16 = "hi";
  44. enum _cstr PRIiLEAST32 = "li";
  45. enum _cstr PRIiLEAST64 = "lli";
  46. enum _cstr PRIiFAST8 = "hhi";
  47. enum _cstr PRIiFAST16 = "i";
  48. enum _cstr PRIiFAST32 = "li";
  49. enum _cstr PRIiFAST64 = "lli";
  50. enum _cstr PRIo8 = "hho";
  51. enum _cstr PRIo16 = "ho";
  52. enum _cstr PRIo32 = "lo";
  53. enum _cstr PRIo64 = "llo";
  54. enum _cstr PRIoLEAST8 = "hho";
  55. enum _cstr PRIoLEAST16 = "ho";
  56. enum _cstr PRIoLEAST32 = "lo";
  57. enum _cstr PRIoLEAST64 = "llo";
  58. enum _cstr PRIoFAST8 = "hho";
  59. enum _cstr PRIoFAST16 = "o";
  60. enum _cstr PRIoFAST32 = "lo";
  61. enum _cstr PRIoFAST64 = "llo";
  62. enum _cstr PRIu8 = "hhu";
  63. enum _cstr PRIu16 = "hu";
  64. enum _cstr PRIu32 = "lu";
  65. enum _cstr PRIu64 = "llu";
  66. enum _cstr PRIuLEAST8 = "hhu";
  67. enum _cstr PRIuLEAST16 = "hu";
  68. enum _cstr PRIuLEAST32 = "lu";
  69. enum _cstr PRIuLEAST64 = "llu";
  70. enum _cstr PRIuFAST8 = "hhu";
  71. enum _cstr PRIuFAST16 = "u";
  72. enum _cstr PRIuFAST32 = "lu";
  73. enum _cstr PRIuFAST64 = "llu";
  74. enum _cstr PRIx8 = "hhx";
  75. enum _cstr PRIx16 = "hx";
  76. enum _cstr PRIx32 = "lx";
  77. enum _cstr PRIx64 = "llx";
  78. enum _cstr PRIxLEAST8 = "hhx";
  79. enum _cstr PRIxLEAST16 = "hx";
  80. enum _cstr PRIxLEAST32 = "lx";
  81. enum _cstr PRIxLEAST64 = "llx";
  82. enum _cstr PRIxFAST8 = "hhx";
  83. enum _cstr PRIxFAST16 = "x";
  84. enum _cstr PRIxFAST32 = "lx";
  85. enum _cstr PRIxFAST64 = "llx";
  86. enum _cstr PRIX8 = "hhX";
  87. enum _cstr PRIX16 = "hX";
  88. enum _cstr PRIX32 = "lX";
  89. enum _cstr PRIX64 = "llX";
  90. enum _cstr PRIXLEAST8 = "hhX";
  91. enum _cstr PRIXLEAST16 = "hX";
  92. enum _cstr PRIXLEAST32 = "lX";
  93. enum _cstr PRIXLEAST64 = "llX";
  94. enum _cstr PRIXFAST8 = "hhX";
  95. enum _cstr PRIXFAST16 = "X";
  96. enum _cstr PRIXFAST32 = "lX";
  97. enum _cstr PRIXFAST64 = "llX";
  98. enum _cstr SCNd8 = "hhd";
  99. enum _cstr SCNd16 = "hd";
  100. enum _cstr SCNd32 = "ld";
  101. enum _cstr SCNd64 = "lld";
  102. enum _cstr SCNdLEAST8 = "hhd";
  103. enum _cstr SCNdLEAST16 = "hd";
  104. enum _cstr SCNdLEAST32 = "ld";
  105. enum _cstr SCNdLEAST64 = "lld";
  106. enum _cstr SCNdFAST8 = "hhd";
  107. enum _cstr SCNdFAST16 = "d";
  108. enum _cstr SCNdFAST32 = "ld";
  109. enum _cstr SCNdFAST64 = "lld";
  110. enum _cstr SCNi8 = "hhd";
  111. enum _cstr SCNi16 = "hi";
  112. enum _cstr SCNi32 = "li";
  113. enum _cstr SCNi64 = "lli";
  114. enum _cstr SCNiLEAST8 = "hhd";
  115. enum _cstr SCNiLEAST16 = "hi";
  116. enum _cstr SCNiLEAST32 = "li";
  117. enum _cstr SCNiLEAST64 = "lli";
  118. enum _cstr SCNiFAST8 = "hhd";
  119. enum _cstr SCNiFAST16 = "i";
  120. enum _cstr SCNiFAST32 = "li";
  121. enum _cstr SCNiFAST64 = "lli";
  122. enum _cstr SCNo8 = "hhd";
  123. enum _cstr SCNo16 = "ho";
  124. enum _cstr SCNo32 = "lo";
  125. enum _cstr SCNo64 = "llo";
  126. enum _cstr SCNoLEAST8 = "hhd";
  127. enum _cstr SCNoLEAST16 = "ho";
  128. enum _cstr SCNoLEAST32 = "lo";
  129. enum _cstr SCNoLEAST64 = "llo";
  130. enum _cstr SCNoFAST8 = "hhd";
  131. enum _cstr SCNoFAST16 = "o";
  132. enum _cstr SCNoFAST32 = "lo";
  133. enum _cstr SCNoFAST64 = "llo";
  134. enum _cstr SCNu8 = "hhd";
  135. enum _cstr SCNu16 = "hu";
  136. enum _cstr SCNu32 = "lu";
  137. enum _cstr SCNu64 = "llu";
  138. enum _cstr SCNuLEAST8 = "hhd";
  139. enum _cstr SCNuLEAST16 = "hu";
  140. enum _cstr SCNuLEAST32 = "lu";
  141. enum _cstr SCNuLEAST64 = "llu";
  142. enum _cstr SCNuFAST8 = "hhd";
  143. enum _cstr SCNuFAST16 = "u";
  144. enum _cstr SCNuFAST32 = "lu";
  145. enum _cstr SCNuFAST64 = "llu";
  146. enum _cstr SCNx8 = "hhd";
  147. enum _cstr SCNx16 = "hx";
  148. enum _cstr SCNx32 = "lx";
  149. enum _cstr SCNx64 = "llx";
  150. enum _cstr SCNxLEAST8 = "hhd";
  151. enum _cstr SCNxLEAST16 = "hx";
  152. enum _cstr SCNxLEAST32 = "lx";
  153. enum _cstr SCNxLEAST64 = "llx";
  154. enum _cstr SCNxFAST8 = "hhd";
  155. enum _cstr SCNxFAST16 = "x";
  156. enum _cstr SCNxFAST32 = "lx";
  157. enum _cstr SCNxFAST64 = "llx";
  158. version( D_LP64 )
  159. {
  160. enum _cstr PRIdMAX = PRId64;
  161. enum _cstr PRIiMAX = PRIi64;
  162. enum _cstr PRIoMAX = PRIo64;
  163. enum _cstr PRIuMAX = PRIu64;
  164. enum _cstr PRIxMAX = PRIx64;
  165. enum _cstr PRIXMAX = PRIX64;
  166. enum _cstr SCNdMAX = SCNd64;
  167. enum _cstr SCNiMAX = SCNi64;
  168. enum _cstr SCNoMAX = SCNo64;
  169. enum _cstr SCNuMAX = SCNu64;
  170. enum _cstr SCNxMAX = SCNx64;
  171. enum _cstr PRIdPTR = PRId64;
  172. enum _cstr PRIiPTR = PRIi64;
  173. enum _cstr PRIoPTR = PRIo64;
  174. enum _cstr PRIuPTR = PRIu64;
  175. enum _cstr PRIxPTR = PRIx64;
  176. enum _cstr PRIXPTR = PRIX64;
  177. enum _cstr SCNdPTR = SCNd64;
  178. enum _cstr SCNiPTR = SCNi64;
  179. enum _cstr SCNoPTR = SCNo64;
  180. enum _cstr SCNuPTR = SCNu64;
  181. enum _cstr SCNxPTR = SCNx64;
  182. }
  183. else
  184. {
  185. enum _cstr PRIdMAX = PRId32;
  186. enum _cstr PRIiMAX = PRIi32;
  187. enum _cstr PRIoMAX = PRIo32;
  188. enum _cstr PRIuMAX = PRIu32;
  189. enum _cstr PRIxMAX = PRIx32;
  190. enum _cstr PRIXMAX = PRIX32;
  191. enum _cstr SCNdMAX = SCNd32;
  192. enum _cstr SCNiMAX = SCNi32;
  193. enum _cstr SCNoMAX = SCNo32;
  194. enum _cstr SCNuMAX = SCNu32;
  195. enum _cstr SCNxMAX = SCNx32;
  196. enum _cstr PRIdPTR = PRId32;
  197. enum _cstr PRIiPTR = PRIi32;
  198. enum _cstr PRIoPTR = PRIo32;
  199. enum _cstr PRIuPTR = PRIu32;
  200. enum _cstr PRIxPTR = PRIx32;
  201. enum _cstr PRIXPTR = PRIX32;
  202. enum _cstr SCNdPTR = SCNd32;
  203. enum _cstr SCNiPTR = SCNi32;
  204. enum _cstr SCNoPTR = SCNo32;
  205. enum _cstr SCNuPTR = SCNu32;
  206. enum _cstr SCNxPTR = SCNx32;
  207. }
  208. intmax_t imaxabs(intmax_t j);
  209. imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
  210. intmax_t strtoimax(in char* nptr, char** endptr, int base);
  211. uintmax_t strtoumax(in char* nptr, char** endptr, int base);
  212. intmax_t wcstoimax(in wchar_t* nptr, wchar_t** endptr, int base);
  213. uintmax_t wcstoumax(in wchar_t* nptr, wchar_t** endptr, int base);