mqt-core 3.3.2__cp313-cp313t-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) hide show
  1. mqt/core/__init__.py +89 -0
  2. mqt/core/__main__.py +55 -0
  3. mqt/core/_commands.py +52 -0
  4. mqt/core/_compat/__init__.py +11 -0
  5. mqt/core/_compat/typing.py +29 -0
  6. mqt/core/_version.py +34 -0
  7. mqt/core/_version.pyi +12 -0
  8. mqt/core/bin/mqt-core-algorithms.dll +0 -0
  9. mqt/core/bin/mqt-core-circuit-optimizer.dll +0 -0
  10. mqt/core/bin/mqt-core-dd.dll +0 -0
  11. mqt/core/bin/mqt-core-ds.dll +0 -0
  12. mqt/core/bin/mqt-core-fomac.dll +0 -0
  13. mqt/core/bin/mqt-core-ir.dll +0 -0
  14. mqt/core/bin/mqt-core-na-fomac.dll +0 -0
  15. mqt/core/bin/mqt-core-na.dll +0 -0
  16. mqt/core/bin/mqt-core-qasm.dll +0 -0
  17. mqt/core/bin/mqt-core-qdmi-driver.dll +0 -0
  18. mqt/core/bin/mqt-core-qdmi-na-device.dll +0 -0
  19. mqt/core/bin/mqt-core-zx.dll +0 -0
  20. mqt/core/dd.cp313t-win_amd64.pyd +0 -0
  21. mqt/core/dd.pyi +1016 -0
  22. mqt/core/dd_evaluation.py +368 -0
  23. mqt/core/fomac.cp313t-win_amd64.pyd +0 -0
  24. mqt/core/fomac.pyi +125 -0
  25. mqt/core/include/mqt-core/algorithms/BernsteinVazirani.hpp +39 -0
  26. mqt/core/include/mqt-core/algorithms/GHZState.hpp +18 -0
  27. mqt/core/include/mqt-core/algorithms/Grover.hpp +33 -0
  28. mqt/core/include/mqt-core/algorithms/QFT.hpp +21 -0
  29. mqt/core/include/mqt-core/algorithms/QPE.hpp +30 -0
  30. mqt/core/include/mqt-core/algorithms/RandomCliffordCircuit.hpp +22 -0
  31. mqt/core/include/mqt-core/algorithms/StatePreparation.hpp +43 -0
  32. mqt/core/include/mqt-core/algorithms/WState.hpp +18 -0
  33. mqt/core/include/mqt-core/algorithms/mqt_core_algorithms_export.h +43 -0
  34. mqt/core/include/mqt-core/boost/config/abi/borland_prefix.hpp +27 -0
  35. mqt/core/include/mqt-core/boost/config/abi/borland_suffix.hpp +12 -0
  36. mqt/core/include/mqt-core/boost/config/abi/msvc_prefix.hpp +22 -0
  37. mqt/core/include/mqt-core/boost/config/abi/msvc_suffix.hpp +8 -0
  38. mqt/core/include/mqt-core/boost/config/abi_prefix.hpp +25 -0
  39. mqt/core/include/mqt-core/boost/config/abi_suffix.hpp +25 -0
  40. mqt/core/include/mqt-core/boost/config/assert_cxx03.hpp +211 -0
  41. mqt/core/include/mqt-core/boost/config/assert_cxx11.hpp +212 -0
  42. mqt/core/include/mqt-core/boost/config/assert_cxx14.hpp +47 -0
  43. mqt/core/include/mqt-core/boost/config/assert_cxx17.hpp +65 -0
  44. mqt/core/include/mqt-core/boost/config/assert_cxx20.hpp +59 -0
  45. mqt/core/include/mqt-core/boost/config/assert_cxx23.hpp +41 -0
  46. mqt/core/include/mqt-core/boost/config/assert_cxx98.hpp +23 -0
  47. mqt/core/include/mqt-core/boost/config/auto_link.hpp +525 -0
  48. mqt/core/include/mqt-core/boost/config/compiler/borland.hpp +342 -0
  49. mqt/core/include/mqt-core/boost/config/compiler/clang.hpp +370 -0
  50. mqt/core/include/mqt-core/boost/config/compiler/clang_version.hpp +89 -0
  51. mqt/core/include/mqt-core/boost/config/compiler/codegear.hpp +389 -0
  52. mqt/core/include/mqt-core/boost/config/compiler/comeau.hpp +59 -0
  53. mqt/core/include/mqt-core/boost/config/compiler/common_edg.hpp +185 -0
  54. mqt/core/include/mqt-core/boost/config/compiler/compaq_cxx.hpp +19 -0
  55. mqt/core/include/mqt-core/boost/config/compiler/cray.hpp +446 -0
  56. mqt/core/include/mqt-core/boost/config/compiler/diab.hpp +26 -0
  57. mqt/core/include/mqt-core/boost/config/compiler/digitalmars.hpp +146 -0
  58. mqt/core/include/mqt-core/boost/config/compiler/gcc.hpp +386 -0
  59. mqt/core/include/mqt-core/boost/config/compiler/gcc_xml.hpp +115 -0
  60. mqt/core/include/mqt-core/boost/config/compiler/greenhills.hpp +28 -0
  61. mqt/core/include/mqt-core/boost/config/compiler/hp_acc.hpp +153 -0
  62. mqt/core/include/mqt-core/boost/config/compiler/intel.hpp +577 -0
  63. mqt/core/include/mqt-core/boost/config/compiler/kai.hpp +33 -0
  64. mqt/core/include/mqt-core/boost/config/compiler/metrowerks.hpp +201 -0
  65. mqt/core/include/mqt-core/boost/config/compiler/mpw.hpp +143 -0
  66. mqt/core/include/mqt-core/boost/config/compiler/nvcc.hpp +64 -0
  67. mqt/core/include/mqt-core/boost/config/compiler/pathscale.hpp +141 -0
  68. mqt/core/include/mqt-core/boost/config/compiler/pgi.hpp +23 -0
  69. mqt/core/include/mqt-core/boost/config/compiler/sgi_mipspro.hpp +29 -0
  70. mqt/core/include/mqt-core/boost/config/compiler/sunpro_cc.hpp +225 -0
  71. mqt/core/include/mqt-core/boost/config/compiler/vacpp.hpp +189 -0
  72. mqt/core/include/mqt-core/boost/config/compiler/visualc.hpp +398 -0
  73. mqt/core/include/mqt-core/boost/config/compiler/xlcpp.hpp +303 -0
  74. mqt/core/include/mqt-core/boost/config/compiler/xlcpp_zos.hpp +174 -0
  75. mqt/core/include/mqt-core/boost/config/detail/cxx_composite.hpp +218 -0
  76. mqt/core/include/mqt-core/boost/config/detail/posix_features.hpp +95 -0
  77. mqt/core/include/mqt-core/boost/config/detail/select_compiler_config.hpp +157 -0
  78. mqt/core/include/mqt-core/boost/config/detail/select_platform_config.hpp +147 -0
  79. mqt/core/include/mqt-core/boost/config/detail/select_stdlib_config.hpp +121 -0
  80. mqt/core/include/mqt-core/boost/config/detail/suffix.hpp +1334 -0
  81. mqt/core/include/mqt-core/boost/config/header_deprecated.hpp +26 -0
  82. mqt/core/include/mqt-core/boost/config/helper_macros.hpp +37 -0
  83. mqt/core/include/mqt-core/boost/config/no_tr1/cmath.hpp +28 -0
  84. mqt/core/include/mqt-core/boost/config/no_tr1/complex.hpp +28 -0
  85. mqt/core/include/mqt-core/boost/config/no_tr1/functional.hpp +28 -0
  86. mqt/core/include/mqt-core/boost/config/no_tr1/memory.hpp +28 -0
  87. mqt/core/include/mqt-core/boost/config/no_tr1/utility.hpp +28 -0
  88. mqt/core/include/mqt-core/boost/config/platform/aix.hpp +33 -0
  89. mqt/core/include/mqt-core/boost/config/platform/amigaos.hpp +15 -0
  90. mqt/core/include/mqt-core/boost/config/platform/beos.hpp +26 -0
  91. mqt/core/include/mqt-core/boost/config/platform/bsd.hpp +83 -0
  92. mqt/core/include/mqt-core/boost/config/platform/cloudabi.hpp +18 -0
  93. mqt/core/include/mqt-core/boost/config/platform/cray.hpp +18 -0
  94. mqt/core/include/mqt-core/boost/config/platform/cygwin.hpp +71 -0
  95. mqt/core/include/mqt-core/boost/config/platform/haiku.hpp +31 -0
  96. mqt/core/include/mqt-core/boost/config/platform/hpux.hpp +87 -0
  97. mqt/core/include/mqt-core/boost/config/platform/irix.hpp +31 -0
  98. mqt/core/include/mqt-core/boost/config/platform/linux.hpp +106 -0
  99. mqt/core/include/mqt-core/boost/config/platform/macos.hpp +87 -0
  100. mqt/core/include/mqt-core/boost/config/platform/qnxnto.hpp +31 -0
  101. mqt/core/include/mqt-core/boost/config/platform/solaris.hpp +31 -0
  102. mqt/core/include/mqt-core/boost/config/platform/symbian.hpp +97 -0
  103. mqt/core/include/mqt-core/boost/config/platform/vms.hpp +25 -0
  104. mqt/core/include/mqt-core/boost/config/platform/vxworks.hpp +422 -0
  105. mqt/core/include/mqt-core/boost/config/platform/wasm.hpp +23 -0
  106. mqt/core/include/mqt-core/boost/config/platform/win32.hpp +90 -0
  107. mqt/core/include/mqt-core/boost/config/platform/zos.hpp +32 -0
  108. mqt/core/include/mqt-core/boost/config/pragma_message.hpp +31 -0
  109. mqt/core/include/mqt-core/boost/config/requires_threads.hpp +92 -0
  110. mqt/core/include/mqt-core/boost/config/stdlib/dinkumware.hpp +324 -0
  111. mqt/core/include/mqt-core/boost/config/stdlib/libcomo.hpp +93 -0
  112. mqt/core/include/mqt-core/boost/config/stdlib/libcpp.hpp +180 -0
  113. mqt/core/include/mqt-core/boost/config/stdlib/libstdcpp3.hpp +482 -0
  114. mqt/core/include/mqt-core/boost/config/stdlib/modena.hpp +79 -0
  115. mqt/core/include/mqt-core/boost/config/stdlib/msl.hpp +98 -0
  116. mqt/core/include/mqt-core/boost/config/stdlib/roguewave.hpp +208 -0
  117. mqt/core/include/mqt-core/boost/config/stdlib/sgi.hpp +168 -0
  118. mqt/core/include/mqt-core/boost/config/stdlib/stlport.hpp +258 -0
  119. mqt/core/include/mqt-core/boost/config/stdlib/vacpp.hpp +74 -0
  120. mqt/core/include/mqt-core/boost/config/stdlib/xlcpp_zos.hpp +61 -0
  121. mqt/core/include/mqt-core/boost/config/user.hpp +133 -0
  122. mqt/core/include/mqt-core/boost/config/warning_disable.hpp +47 -0
  123. mqt/core/include/mqt-core/boost/config/workaround.hpp +305 -0
  124. mqt/core/include/mqt-core/boost/config.hpp +67 -0
  125. mqt/core/include/mqt-core/boost/cstdint.hpp +556 -0
  126. mqt/core/include/mqt-core/boost/cxx11_char_types.hpp +70 -0
  127. mqt/core/include/mqt-core/boost/detail/workaround.hpp +10 -0
  128. mqt/core/include/mqt-core/boost/limits.hpp +146 -0
  129. mqt/core/include/mqt-core/boost/multiprecision/complex128.hpp +24 -0
  130. mqt/core/include/mqt-core/boost/multiprecision/complex_adaptor.hpp +1046 -0
  131. mqt/core/include/mqt-core/boost/multiprecision/concepts/mp_number_archetypes.hpp +257 -0
  132. mqt/core/include/mqt-core/boost/multiprecision/cpp_bin_float/io.hpp +698 -0
  133. mqt/core/include/mqt-core/boost/multiprecision/cpp_bin_float/transcendental.hpp +157 -0
  134. mqt/core/include/mqt-core/boost/multiprecision/cpp_bin_float.hpp +2297 -0
  135. mqt/core/include/mqt-core/boost/multiprecision/cpp_complex.hpp +12 -0
  136. mqt/core/include/mqt-core/boost/multiprecision/cpp_dec_float.hpp +3690 -0
  137. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/add.hpp +368 -0
  138. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/add_unsigned.hpp +387 -0
  139. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/bitwise.hpp +889 -0
  140. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/checked.hpp +178 -0
  141. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/comparison.hpp +374 -0
  142. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/cpp_int_config.hpp +161 -0
  143. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/divide.hpp +703 -0
  144. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/import_export.hpp +248 -0
  145. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/intel_intrinsics.hpp +138 -0
  146. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/limits.hpp +282 -0
  147. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/literals.hpp +295 -0
  148. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/misc.hpp +1457 -0
  149. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/multiply.hpp +848 -0
  150. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/serialize.hpp +211 -0
  151. mqt/core/include/mqt-core/boost/multiprecision/cpp_int/value_pack.hpp +42 -0
  152. mqt/core/include/mqt-core/boost/multiprecision/cpp_int.hpp +2360 -0
  153. mqt/core/include/mqt-core/boost/multiprecision/debug_adaptor.hpp +760 -0
  154. mqt/core/include/mqt-core/boost/multiprecision/detail/assert.hpp +29 -0
  155. mqt/core/include/mqt-core/boost/multiprecision/detail/atomic.hpp +62 -0
  156. mqt/core/include/mqt-core/boost/multiprecision/detail/bitscan.hpp +317 -0
  157. mqt/core/include/mqt-core/boost/multiprecision/detail/check_cpp11_config.hpp +64 -0
  158. mqt/core/include/mqt-core/boost/multiprecision/detail/constexpr.hpp +88 -0
  159. mqt/core/include/mqt-core/boost/multiprecision/detail/default_ops.hpp +4052 -0
  160. mqt/core/include/mqt-core/boost/multiprecision/detail/digits.hpp +49 -0
  161. mqt/core/include/mqt-core/boost/multiprecision/detail/dynamic_array.hpp +44 -0
  162. mqt/core/include/mqt-core/boost/multiprecision/detail/empty_value.hpp +87 -0
  163. mqt/core/include/mqt-core/boost/multiprecision/detail/endian.hpp +35 -0
  164. mqt/core/include/mqt-core/boost/multiprecision/detail/et_ops.hpp +1831 -0
  165. mqt/core/include/mqt-core/boost/multiprecision/detail/float128_functions.hpp +95 -0
  166. mqt/core/include/mqt-core/boost/multiprecision/detail/float_string_cvt.hpp +333 -0
  167. mqt/core/include/mqt-core/boost/multiprecision/detail/fpclassify.hpp +101 -0
  168. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/constants.hpp +288 -0
  169. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/pow.hpp +905 -0
  170. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/trig.hpp +1058 -0
  171. mqt/core/include/mqt-core/boost/multiprecision/detail/functions/trunc.hpp +82 -0
  172. mqt/core/include/mqt-core/boost/multiprecision/detail/generic_interconvert.hpp +687 -0
  173. mqt/core/include/mqt-core/boost/multiprecision/detail/hash.hpp +56 -0
  174. mqt/core/include/mqt-core/boost/multiprecision/detail/integer_ops.hpp +474 -0
  175. mqt/core/include/mqt-core/boost/multiprecision/detail/itos.hpp +39 -0
  176. mqt/core/include/mqt-core/boost/multiprecision/detail/min_max.hpp +106 -0
  177. mqt/core/include/mqt-core/boost/multiprecision/detail/no_et_ops.hpp +661 -0
  178. mqt/core/include/mqt-core/boost/multiprecision/detail/no_exceptions_support.hpp +55 -0
  179. mqt/core/include/mqt-core/boost/multiprecision/detail/number_base.hpp +1656 -0
  180. mqt/core/include/mqt-core/boost/multiprecision/detail/number_compare.hpp +848 -0
  181. mqt/core/include/mqt-core/boost/multiprecision/detail/precision.hpp +313 -0
  182. mqt/core/include/mqt-core/boost/multiprecision/detail/rebind.hpp +19 -0
  183. mqt/core/include/mqt-core/boost/multiprecision/detail/standalone_config.hpp +148 -0
  184. mqt/core/include/mqt-core/boost/multiprecision/detail/static_array.hpp +42 -0
  185. mqt/core/include/mqt-core/boost/multiprecision/detail/string_helpers.hpp +48 -0
  186. mqt/core/include/mqt-core/boost/multiprecision/detail/tables.hpp +80 -0
  187. mqt/core/include/mqt-core/boost/multiprecision/detail/ublas_interop.hpp +75 -0
  188. mqt/core/include/mqt-core/boost/multiprecision/detail/uniform_int_distribution.hpp +212 -0
  189. mqt/core/include/mqt-core/boost/multiprecision/detail/utype_helper.hpp +374 -0
  190. mqt/core/include/mqt-core/boost/multiprecision/eigen.hpp +248 -0
  191. mqt/core/include/mqt-core/boost/multiprecision/float128.hpp +920 -0
  192. mqt/core/include/mqt-core/boost/multiprecision/fwd.hpp +268 -0
  193. mqt/core/include/mqt-core/boost/multiprecision/gmp.hpp +4060 -0
  194. mqt/core/include/mqt-core/boost/multiprecision/integer.hpp +363 -0
  195. mqt/core/include/mqt-core/boost/multiprecision/logged_adaptor.hpp +834 -0
  196. mqt/core/include/mqt-core/boost/multiprecision/miller_rabin.hpp +221 -0
  197. mqt/core/include/mqt-core/boost/multiprecision/mpc.hpp +1721 -0
  198. mqt/core/include/mqt-core/boost/multiprecision/mpfi.hpp +2559 -0
  199. mqt/core/include/mqt-core/boost/multiprecision/mpfr.hpp +3644 -0
  200. mqt/core/include/mqt-core/boost/multiprecision/number.hpp +2500 -0
  201. mqt/core/include/mqt-core/boost/multiprecision/random.hpp +23 -0
  202. mqt/core/include/mqt-core/boost/multiprecision/rational_adaptor.hpp +1289 -0
  203. mqt/core/include/mqt-core/boost/multiprecision/tommath.hpp +1034 -0
  204. mqt/core/include/mqt-core/boost/multiprecision/traits/explicit_conversion.hpp +67 -0
  205. mqt/core/include/mqt-core/boost/multiprecision/traits/extract_exponent_type.hpp +28 -0
  206. mqt/core/include/mqt-core/boost/multiprecision/traits/is_backend.hpp +91 -0
  207. mqt/core/include/mqt-core/boost/multiprecision/traits/is_byte_container.hpp +51 -0
  208. mqt/core/include/mqt-core/boost/multiprecision/traits/is_complex.hpp +22 -0
  209. mqt/core/include/mqt-core/boost/multiprecision/traits/is_convertible_arithmetic.hpp +51 -0
  210. mqt/core/include/mqt-core/boost/multiprecision/traits/is_restricted_conversion.hpp +47 -0
  211. mqt/core/include/mqt-core/boost/multiprecision/traits/is_variable_precision.hpp +25 -0
  212. mqt/core/include/mqt-core/boost/multiprecision/traits/max_digits10.hpp +79 -0
  213. mqt/core/include/mqt-core/boost/multiprecision/traits/std_integer_traits.hpp +90 -0
  214. mqt/core/include/mqt-core/boost/multiprecision/traits/transcendental_reduction_type.hpp +21 -0
  215. mqt/core/include/mqt-core/boost/version.hpp +32 -0
  216. mqt/core/include/mqt-core/circuit_optimizer/CircuitOptimizer.hpp +119 -0
  217. mqt/core/include/mqt-core/circuit_optimizer/mqt_core_circuit_optimizer_export.h +43 -0
  218. mqt/core/include/mqt-core/datastructures/DirectedAcyclicGraph.hpp +117 -0
  219. mqt/core/include/mqt-core/datastructures/DirectedGraph.hpp +158 -0
  220. mqt/core/include/mqt-core/datastructures/DisjointSet.hpp +50 -0
  221. mqt/core/include/mqt-core/datastructures/Layer.hpp +172 -0
  222. mqt/core/include/mqt-core/datastructures/SymmetricMatrix.hpp +57 -0
  223. mqt/core/include/mqt-core/datastructures/UndirectedGraph.hpp +227 -0
  224. mqt/core/include/mqt-core/datastructures/mqt_core_ds_export.h +43 -0
  225. mqt/core/include/mqt-core/dd/Approximation.hpp +45 -0
  226. mqt/core/include/mqt-core/dd/CachedEdge.hpp +174 -0
  227. mqt/core/include/mqt-core/dd/Complex.hpp +165 -0
  228. mqt/core/include/mqt-core/dd/ComplexNumbers.hpp +150 -0
  229. mqt/core/include/mqt-core/dd/ComplexValue.hpp +184 -0
  230. mqt/core/include/mqt-core/dd/ComputeTable.hpp +183 -0
  231. mqt/core/include/mqt-core/dd/DDDefinitions.hpp +139 -0
  232. mqt/core/include/mqt-core/dd/DDpackageConfig.hpp +104 -0
  233. mqt/core/include/mqt-core/dd/DensityNoiseTable.hpp +114 -0
  234. mqt/core/include/mqt-core/dd/Edge.hpp +416 -0
  235. mqt/core/include/mqt-core/dd/Export.hpp +438 -0
  236. mqt/core/include/mqt-core/dd/FunctionalityConstruction.hpp +75 -0
  237. mqt/core/include/mqt-core/dd/GateMatrixDefinitions.hpp +43 -0
  238. mqt/core/include/mqt-core/dd/LinkedListBase.hpp +45 -0
  239. mqt/core/include/mqt-core/dd/MemoryManager.hpp +193 -0
  240. mqt/core/include/mqt-core/dd/Node.hpp +223 -0
  241. mqt/core/include/mqt-core/dd/NoiseFunctionality.hpp +144 -0
  242. mqt/core/include/mqt-core/dd/Operations.hpp +306 -0
  243. mqt/core/include/mqt-core/dd/Package.hpp +2036 -0
  244. mqt/core/include/mqt-core/dd/Package_fwd.hpp +22 -0
  245. mqt/core/include/mqt-core/dd/RealNumber.hpp +255 -0
  246. mqt/core/include/mqt-core/dd/RealNumberUniqueTable.hpp +217 -0
  247. mqt/core/include/mqt-core/dd/Simulation.hpp +98 -0
  248. mqt/core/include/mqt-core/dd/StateGeneration.hpp +143 -0
  249. mqt/core/include/mqt-core/dd/StochasticNoiseOperationTable.hpp +88 -0
  250. mqt/core/include/mqt-core/dd/UnaryComputeTable.hpp +121 -0
  251. mqt/core/include/mqt-core/dd/UniqueTable.hpp +243 -0
  252. mqt/core/include/mqt-core/dd/mqt_core_dd_export.h +43 -0
  253. mqt/core/include/mqt-core/dd/statistics/MemoryManagerStatistics.hpp +84 -0
  254. mqt/core/include/mqt-core/dd/statistics/PackageStatistics.hpp +55 -0
  255. mqt/core/include/mqt-core/dd/statistics/Statistics.hpp +48 -0
  256. mqt/core/include/mqt-core/dd/statistics/TableStatistics.hpp +79 -0
  257. mqt/core/include/mqt-core/dd/statistics/UniqueTableStatistics.hpp +31 -0
  258. mqt/core/include/mqt-core/fomac/FoMaC.hpp +568 -0
  259. mqt/core/include/mqt-core/ir/Definitions.hpp +108 -0
  260. mqt/core/include/mqt-core/ir/Permutation.hpp +213 -0
  261. mqt/core/include/mqt-core/ir/QuantumComputation.hpp +596 -0
  262. mqt/core/include/mqt-core/ir/Register.hpp +125 -0
  263. mqt/core/include/mqt-core/ir/mqt_core_ir_export.h +43 -0
  264. mqt/core/include/mqt-core/ir/operations/AodOperation.hpp +92 -0
  265. mqt/core/include/mqt-core/ir/operations/CompoundOperation.hpp +212 -0
  266. mqt/core/include/mqt-core/ir/operations/Control.hpp +142 -0
  267. mqt/core/include/mqt-core/ir/operations/Expression.hpp +847 -0
  268. mqt/core/include/mqt-core/ir/operations/IfElseOperation.hpp +169 -0
  269. mqt/core/include/mqt-core/ir/operations/NonUnitaryOperation.hpp +118 -0
  270. mqt/core/include/mqt-core/ir/operations/OpType.hpp +120 -0
  271. mqt/core/include/mqt-core/ir/operations/OpType.inc +76 -0
  272. mqt/core/include/mqt-core/ir/operations/Operation.hpp +247 -0
  273. mqt/core/include/mqt-core/ir/operations/StandardOperation.hpp +140 -0
  274. mqt/core/include/mqt-core/ir/operations/SymbolicOperation.hpp +144 -0
  275. mqt/core/include/mqt-core/mqt_na_qdmi/device.h +602 -0
  276. mqt/core/include/mqt-core/mqt_na_qdmi/types.h +78 -0
  277. mqt/core/include/mqt-core/na/NAComputation.hpp +185 -0
  278. mqt/core/include/mqt-core/na/device/Device.hpp +410 -0
  279. mqt/core/include/mqt-core/na/device/DeviceMemberInitializers.hpp +724 -0
  280. mqt/core/include/mqt-core/na/device/Generator.hpp +447 -0
  281. mqt/core/include/mqt-core/na/entities/Atom.hpp +62 -0
  282. mqt/core/include/mqt-core/na/entities/Location.hpp +154 -0
  283. mqt/core/include/mqt-core/na/entities/Zone.hpp +95 -0
  284. mqt/core/include/mqt-core/na/fomac/Device.hpp +169 -0
  285. mqt/core/include/mqt-core/na/mqt_core_na_export.h +43 -0
  286. mqt/core/include/mqt-core/na/operations/GlobalCZOp.hpp +38 -0
  287. mqt/core/include/mqt-core/na/operations/GlobalOp.hpp +58 -0
  288. mqt/core/include/mqt-core/na/operations/GlobalRYOp.hpp +42 -0
  289. mqt/core/include/mqt-core/na/operations/LoadOp.hpp +89 -0
  290. mqt/core/include/mqt-core/na/operations/LocalOp.hpp +56 -0
  291. mqt/core/include/mqt-core/na/operations/LocalRZOp.hpp +42 -0
  292. mqt/core/include/mqt-core/na/operations/LocalUOp.hpp +49 -0
  293. mqt/core/include/mqt-core/na/operations/MoveOp.hpp +66 -0
  294. mqt/core/include/mqt-core/na/operations/Op.hpp +62 -0
  295. mqt/core/include/mqt-core/na/operations/ShuttlingOp.hpp +51 -0
  296. mqt/core/include/mqt-core/na/operations/StoreOp.hpp +87 -0
  297. mqt/core/include/mqt-core/qasm3/Exception.hpp +85 -0
  298. mqt/core/include/mqt-core/qasm3/Gate.hpp +65 -0
  299. mqt/core/include/mqt-core/qasm3/Importer.hpp +192 -0
  300. mqt/core/include/mqt-core/qasm3/InstVisitor.hpp +145 -0
  301. mqt/core/include/mqt-core/qasm3/NestedEnvironment.hpp +41 -0
  302. mqt/core/include/mqt-core/qasm3/Parser.hpp +170 -0
  303. mqt/core/include/mqt-core/qasm3/Scanner.hpp +73 -0
  304. mqt/core/include/mqt-core/qasm3/Statement.hpp +486 -0
  305. mqt/core/include/mqt-core/qasm3/Statement_fwd.hpp +39 -0
  306. mqt/core/include/mqt-core/qasm3/StdGates.hpp +232 -0
  307. mqt/core/include/mqt-core/qasm3/Token.hpp +198 -0
  308. mqt/core/include/mqt-core/qasm3/Types.hpp +238 -0
  309. mqt/core/include/mqt-core/qasm3/Types_fwd.hpp +22 -0
  310. mqt/core/include/mqt-core/qasm3/mqt_core_qasm_export.h +43 -0
  311. mqt/core/include/mqt-core/qasm3/passes/CompilerPass.hpp +22 -0
  312. mqt/core/include/mqt-core/qasm3/passes/ConstEvalPass.hpp +102 -0
  313. mqt/core/include/mqt-core/qasm3/passes/TypeCheckPass.hpp +124 -0
  314. mqt/core/include/mqt-core/qdmi/Driver.hpp +431 -0
  315. mqt/core/include/mqt-core/zx/FunctionalityConstruction.hpp +125 -0
  316. mqt/core/include/mqt-core/zx/Rational.hpp +318 -0
  317. mqt/core/include/mqt-core/zx/Rules.hpp +132 -0
  318. mqt/core/include/mqt-core/zx/Simplify.hpp +182 -0
  319. mqt/core/include/mqt-core/zx/Utils.hpp +212 -0
  320. mqt/core/include/mqt-core/zx/ZXDefinitions.hpp +93 -0
  321. mqt/core/include/mqt-core/zx/ZXDiagram.hpp +480 -0
  322. mqt/core/include/mqt-core/zx/mqt_core_zx_export.h +43 -0
  323. mqt/core/include/nlohmann/adl_serializer.hpp +55 -0
  324. mqt/core/include/nlohmann/byte_container_with_subtype.hpp +103 -0
  325. mqt/core/include/nlohmann/detail/abi_macros.hpp +111 -0
  326. mqt/core/include/nlohmann/detail/conversions/from_json.hpp +577 -0
  327. mqt/core/include/nlohmann/detail/conversions/to_chars.hpp +1118 -0
  328. mqt/core/include/nlohmann/detail/conversions/to_json.hpp +479 -0
  329. mqt/core/include/nlohmann/detail/exceptions.hpp +291 -0
  330. mqt/core/include/nlohmann/detail/hash.hpp +129 -0
  331. mqt/core/include/nlohmann/detail/input/binary_reader.hpp +3068 -0
  332. mqt/core/include/nlohmann/detail/input/input_adapters.hpp +549 -0
  333. mqt/core/include/nlohmann/detail/input/json_sax.hpp +986 -0
  334. mqt/core/include/nlohmann/detail/input/lexer.hpp +1643 -0
  335. mqt/core/include/nlohmann/detail/input/parser.hpp +519 -0
  336. mqt/core/include/nlohmann/detail/input/position_t.hpp +37 -0
  337. mqt/core/include/nlohmann/detail/iterators/internal_iterator.hpp +35 -0
  338. mqt/core/include/nlohmann/detail/iterators/iter_impl.hpp +760 -0
  339. mqt/core/include/nlohmann/detail/iterators/iteration_proxy.hpp +235 -0
  340. mqt/core/include/nlohmann/detail/iterators/iterator_traits.hpp +61 -0
  341. mqt/core/include/nlohmann/detail/iterators/json_reverse_iterator.hpp +130 -0
  342. mqt/core/include/nlohmann/detail/iterators/primitive_iterator.hpp +132 -0
  343. mqt/core/include/nlohmann/detail/json_custom_base_class.hpp +39 -0
  344. mqt/core/include/nlohmann/detail/json_pointer.hpp +988 -0
  345. mqt/core/include/nlohmann/detail/json_ref.hpp +78 -0
  346. mqt/core/include/nlohmann/detail/macro_scope.hpp +595 -0
  347. mqt/core/include/nlohmann/detail/macro_unscope.hpp +46 -0
  348. mqt/core/include/nlohmann/detail/meta/call_std/begin.hpp +17 -0
  349. mqt/core/include/nlohmann/detail/meta/call_std/end.hpp +17 -0
  350. mqt/core/include/nlohmann/detail/meta/cpp_future.hpp +171 -0
  351. mqt/core/include/nlohmann/detail/meta/detected.hpp +70 -0
  352. mqt/core/include/nlohmann/detail/meta/identity_tag.hpp +21 -0
  353. mqt/core/include/nlohmann/detail/meta/is_sax.hpp +159 -0
  354. mqt/core/include/nlohmann/detail/meta/std_fs.hpp +29 -0
  355. mqt/core/include/nlohmann/detail/meta/type_traits.hpp +795 -0
  356. mqt/core/include/nlohmann/detail/meta/void_t.hpp +24 -0
  357. mqt/core/include/nlohmann/detail/output/binary_writer.hpp +1850 -0
  358. mqt/core/include/nlohmann/detail/output/output_adapters.hpp +147 -0
  359. mqt/core/include/nlohmann/detail/output/serializer.hpp +988 -0
  360. mqt/core/include/nlohmann/detail/string_concat.hpp +146 -0
  361. mqt/core/include/nlohmann/detail/string_escape.hpp +72 -0
  362. mqt/core/include/nlohmann/detail/string_utils.hpp +37 -0
  363. mqt/core/include/nlohmann/detail/value_t.hpp +118 -0
  364. mqt/core/include/nlohmann/json.hpp +5306 -0
  365. mqt/core/include/nlohmann/json_fwd.hpp +75 -0
  366. mqt/core/include/nlohmann/ordered_map.hpp +359 -0
  367. mqt/core/include/nlohmann/thirdparty/hedley/hedley.hpp +2045 -0
  368. mqt/core/include/nlohmann/thirdparty/hedley/hedley_undef.hpp +158 -0
  369. mqt/core/include/qdmi/qdmi/client.h +990 -0
  370. mqt/core/include/qdmi/qdmi/constants.h +1139 -0
  371. mqt/core/include/qdmi/qdmi/device.h +602 -0
  372. mqt/core/include/qdmi/qdmi/types.h +78 -0
  373. mqt/core/include/spdlog/async.h +99 -0
  374. mqt/core/include/spdlog/async_logger-inl.h +84 -0
  375. mqt/core/include/spdlog/async_logger.h +74 -0
  376. mqt/core/include/spdlog/cfg/argv.h +40 -0
  377. mqt/core/include/spdlog/cfg/env.h +36 -0
  378. mqt/core/include/spdlog/cfg/helpers-inl.h +107 -0
  379. mqt/core/include/spdlog/cfg/helpers.h +29 -0
  380. mqt/core/include/spdlog/common-inl.h +68 -0
  381. mqt/core/include/spdlog/common.h +406 -0
  382. mqt/core/include/spdlog/details/backtracer-inl.h +63 -0
  383. mqt/core/include/spdlog/details/backtracer.h +45 -0
  384. mqt/core/include/spdlog/details/circular_q.h +115 -0
  385. mqt/core/include/spdlog/details/console_globals.h +28 -0
  386. mqt/core/include/spdlog/details/file_helper-inl.h +153 -0
  387. mqt/core/include/spdlog/details/file_helper.h +61 -0
  388. mqt/core/include/spdlog/details/fmt_helper.h +141 -0
  389. mqt/core/include/spdlog/details/log_msg-inl.h +44 -0
  390. mqt/core/include/spdlog/details/log_msg.h +40 -0
  391. mqt/core/include/spdlog/details/log_msg_buffer-inl.h +54 -0
  392. mqt/core/include/spdlog/details/log_msg_buffer.h +32 -0
  393. mqt/core/include/spdlog/details/mpmc_blocking_q.h +177 -0
  394. mqt/core/include/spdlog/details/null_mutex.h +35 -0
  395. mqt/core/include/spdlog/details/os-inl.h +606 -0
  396. mqt/core/include/spdlog/details/os.h +127 -0
  397. mqt/core/include/spdlog/details/periodic_worker-inl.h +26 -0
  398. mqt/core/include/spdlog/details/periodic_worker.h +58 -0
  399. mqt/core/include/spdlog/details/registry-inl.h +270 -0
  400. mqt/core/include/spdlog/details/registry.h +131 -0
  401. mqt/core/include/spdlog/details/synchronous_factory.h +22 -0
  402. mqt/core/include/spdlog/details/tcp_client-windows.h +135 -0
  403. mqt/core/include/spdlog/details/tcp_client.h +127 -0
  404. mqt/core/include/spdlog/details/thread_pool-inl.h +126 -0
  405. mqt/core/include/spdlog/details/thread_pool.h +117 -0
  406. mqt/core/include/spdlog/details/udp_client-windows.h +98 -0
  407. mqt/core/include/spdlog/details/udp_client.h +81 -0
  408. mqt/core/include/spdlog/details/windows_include.h +11 -0
  409. mqt/core/include/spdlog/fmt/bin_to_hex.h +224 -0
  410. mqt/core/include/spdlog/fmt/bundled/args.h +220 -0
  411. mqt/core/include/spdlog/fmt/bundled/base.h +2989 -0
  412. mqt/core/include/spdlog/fmt/bundled/chrono.h +2330 -0
  413. mqt/core/include/spdlog/fmt/bundled/color.h +637 -0
  414. mqt/core/include/spdlog/fmt/bundled/compile.h +539 -0
  415. mqt/core/include/spdlog/fmt/bundled/core.h +5 -0
  416. mqt/core/include/spdlog/fmt/bundled/fmt.license.rst +27 -0
  417. mqt/core/include/spdlog/fmt/bundled/format-inl.h +1948 -0
  418. mqt/core/include/spdlog/fmt/bundled/format.h +4244 -0
  419. mqt/core/include/spdlog/fmt/bundled/os.h +427 -0
  420. mqt/core/include/spdlog/fmt/bundled/ostream.h +167 -0
  421. mqt/core/include/spdlog/fmt/bundled/printf.h +633 -0
  422. mqt/core/include/spdlog/fmt/bundled/ranges.h +850 -0
  423. mqt/core/include/spdlog/fmt/bundled/std.h +728 -0
  424. mqt/core/include/spdlog/fmt/bundled/xchar.h +369 -0
  425. mqt/core/include/spdlog/fmt/chrono.h +23 -0
  426. mqt/core/include/spdlog/fmt/compile.h +23 -0
  427. mqt/core/include/spdlog/fmt/fmt.h +30 -0
  428. mqt/core/include/spdlog/fmt/ostr.h +23 -0
  429. mqt/core/include/spdlog/fmt/ranges.h +23 -0
  430. mqt/core/include/spdlog/fmt/std.h +24 -0
  431. mqt/core/include/spdlog/fmt/xchar.h +23 -0
  432. mqt/core/include/spdlog/formatter.h +17 -0
  433. mqt/core/include/spdlog/fwd.h +18 -0
  434. mqt/core/include/spdlog/logger-inl.h +198 -0
  435. mqt/core/include/spdlog/logger.h +379 -0
  436. mqt/core/include/spdlog/mdc.h +52 -0
  437. mqt/core/include/spdlog/pattern_formatter-inl.h +1340 -0
  438. mqt/core/include/spdlog/pattern_formatter.h +118 -0
  439. mqt/core/include/spdlog/sinks/android_sink.h +137 -0
  440. mqt/core/include/spdlog/sinks/ansicolor_sink-inl.h +142 -0
  441. mqt/core/include/spdlog/sinks/ansicolor_sink.h +116 -0
  442. mqt/core/include/spdlog/sinks/base_sink-inl.h +59 -0
  443. mqt/core/include/spdlog/sinks/base_sink.h +51 -0
  444. mqt/core/include/spdlog/sinks/basic_file_sink-inl.h +48 -0
  445. mqt/core/include/spdlog/sinks/basic_file_sink.h +66 -0
  446. mqt/core/include/spdlog/sinks/callback_sink.h +56 -0
  447. mqt/core/include/spdlog/sinks/daily_file_sink.h +254 -0
  448. mqt/core/include/spdlog/sinks/dist_sink.h +81 -0
  449. mqt/core/include/spdlog/sinks/dup_filter_sink.h +91 -0
  450. mqt/core/include/spdlog/sinks/hourly_file_sink.h +193 -0
  451. mqt/core/include/spdlog/sinks/kafka_sink.h +119 -0
  452. mqt/core/include/spdlog/sinks/mongo_sink.h +108 -0
  453. mqt/core/include/spdlog/sinks/msvc_sink.h +68 -0
  454. mqt/core/include/spdlog/sinks/null_sink.h +41 -0
  455. mqt/core/include/spdlog/sinks/ostream_sink.h +43 -0
  456. mqt/core/include/spdlog/sinks/qt_sinks.h +304 -0
  457. mqt/core/include/spdlog/sinks/ringbuffer_sink.h +67 -0
  458. mqt/core/include/spdlog/sinks/rotating_file_sink-inl.h +179 -0
  459. mqt/core/include/spdlog/sinks/rotating_file_sink.h +93 -0
  460. mqt/core/include/spdlog/sinks/sink-inl.h +22 -0
  461. mqt/core/include/spdlog/sinks/sink.h +34 -0
  462. mqt/core/include/spdlog/sinks/stdout_color_sinks-inl.h +38 -0
  463. mqt/core/include/spdlog/sinks/stdout_color_sinks.h +49 -0
  464. mqt/core/include/spdlog/sinks/stdout_sinks-inl.h +127 -0
  465. mqt/core/include/spdlog/sinks/stdout_sinks.h +84 -0
  466. mqt/core/include/spdlog/sinks/syslog_sink.h +104 -0
  467. mqt/core/include/spdlog/sinks/systemd_sink.h +121 -0
  468. mqt/core/include/spdlog/sinks/tcp_sink.h +75 -0
  469. mqt/core/include/spdlog/sinks/udp_sink.h +69 -0
  470. mqt/core/include/spdlog/sinks/win_eventlog_sink.h +260 -0
  471. mqt/core/include/spdlog/sinks/wincolor_sink-inl.h +172 -0
  472. mqt/core/include/spdlog/sinks/wincolor_sink.h +82 -0
  473. mqt/core/include/spdlog/spdlog-inl.h +96 -0
  474. mqt/core/include/spdlog/spdlog.h +357 -0
  475. mqt/core/include/spdlog/stopwatch.h +66 -0
  476. mqt/core/include/spdlog/tweakme.h +148 -0
  477. mqt/core/include/spdlog/version.h +11 -0
  478. mqt/core/ir/__init__.pyi +2078 -0
  479. mqt/core/ir/operations.pyi +1011 -0
  480. mqt/core/ir/registers.pyi +91 -0
  481. mqt/core/ir/symbolic.pyi +177 -0
  482. mqt/core/ir.cp313t-win_amd64.pyd +0 -0
  483. mqt/core/lib/mqt-core-algorithms.lib +0 -0
  484. mqt/core/lib/mqt-core-circuit-optimizer.lib +0 -0
  485. mqt/core/lib/mqt-core-dd.lib +0 -0
  486. mqt/core/lib/mqt-core-ds.lib +0 -0
  487. mqt/core/lib/mqt-core-fomac.lib +0 -0
  488. mqt/core/lib/mqt-core-ir.lib +0 -0
  489. mqt/core/lib/mqt-core-na-fomac.lib +0 -0
  490. mqt/core/lib/mqt-core-na.lib +0 -0
  491. mqt/core/lib/mqt-core-qasm.lib +0 -0
  492. mqt/core/lib/mqt-core-qdmi-driver.lib +0 -0
  493. mqt/core/lib/mqt-core-qdmi-na-device-gen.lib +0 -0
  494. mqt/core/lib/mqt-core-qdmi-na-device.lib +0 -0
  495. mqt/core/lib/mqt-core-zx.lib +0 -0
  496. mqt/core/lib/pkgconfig/spdlog.pc +13 -0
  497. mqt/core/lib/spdlog.lib +0 -0
  498. mqt/core/na/__init__.py +12 -0
  499. mqt/core/na/fomac.cp313t-win_amd64.pyd +0 -0
  500. mqt/core/na/fomac.pyi +117 -0
  501. mqt/core/nlohmann_json.natvis +278 -0
  502. mqt/core/plugins/__init__.py +9 -0
  503. mqt/core/plugins/qiskit/__init__.py +19 -0
  504. mqt/core/plugins/qiskit/mqt_to_qiskit.py +420 -0
  505. mqt/core/plugins/qiskit/qiskit_to_mqt.py +562 -0
  506. mqt/core/py.typed +2 -0
  507. mqt/core/share/cmake/mqt-core/AddMQTPythonBinding.cmake +55 -0
  508. mqt/core/share/cmake/mqt-core/Cache.cmake +33 -0
  509. mqt/core/share/cmake/mqt-core/FindGMP.cmake +103 -0
  510. mqt/core/share/cmake/mqt-core/PackageAddTest.cmake +46 -0
  511. mqt/core/share/cmake/mqt-core/PreventInSourceBuilds.cmake +25 -0
  512. mqt/core/share/cmake/mqt-core/StandardProjectSettings.cmake +87 -0
  513. mqt/core/share/cmake/mqt-core/mqt-core-config-version.cmake +85 -0
  514. mqt/core/share/cmake/mqt-core/mqt-core-config.cmake +52 -0
  515. mqt/core/share/cmake/mqt-core/mqt-core-targets-release.cmake +141 -0
  516. mqt/core/share/cmake/mqt-core/mqt-core-targets.cmake +445 -0
  517. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake +15 -0
  518. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonConfigVersion.cmake +20 -0
  519. mqt/core/share/cmake/nlohmann_json/nlohmann_jsonTargets.cmake +110 -0
  520. mqt/core/share/cmake/qdmi/Cache.cmake +44 -0
  521. mqt/core/share/cmake/qdmi/PrefixHandling.cmake +78 -0
  522. mqt/core/share/cmake/qdmi/prefix_defs.txt +26 -0
  523. mqt/core/share/cmake/qdmi/qdmi-config-version.cmake +85 -0
  524. mqt/core/share/cmake/qdmi/qdmi-config.cmake +42 -0
  525. mqt/core/share/cmake/qdmi/qdmi-targets.cmake +129 -0
  526. mqt/core/share/cmake/spdlog/spdlogConfig.cmake +44 -0
  527. mqt/core/share/cmake/spdlog/spdlogConfigTargets-release.cmake +19 -0
  528. mqt/core/share/cmake/spdlog/spdlogConfigTargets.cmake +121 -0
  529. mqt/core/share/cmake/spdlog/spdlogConfigVersion.cmake +65 -0
  530. mqt/core/share/pkgconfig/nlohmann_json.pc +7 -0
  531. mqt_core-3.3.2.dist-info/DELVEWHEEL +2 -0
  532. mqt_core-3.3.2.dist-info/METADATA +210 -0
  533. mqt_core-3.3.2.dist-info/RECORD +537 -0
  534. mqt_core-3.3.2.dist-info/WHEEL +5 -0
  535. mqt_core-3.3.2.dist-info/entry_points.txt +4 -0
  536. mqt_core-3.3.2.dist-info/licenses/LICENSE.md +22 -0
  537. mqt_core.libs/msvcp140.dll +0 -0
@@ -0,0 +1,556 @@
1
+ // boost cstdint.hpp header file ------------------------------------------//
2
+
3
+ // (C) Copyright Beman Dawes 1999.
4
+ // (C) Copyright Jens Mauer 2001
5
+ // (C) Copyright John Maddock 2001
6
+ // Distributed under the Boost
7
+ // Software License, Version 1.0. (See accompanying file
8
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
+
10
+ // See http://www.boost.org/libs/integer for documentation.
11
+
12
+ // Revision History
13
+ // 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.)
14
+ // 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer)
15
+ // 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer)
16
+ // 12 Nov 00 Merged <boost/stdint.h> (Jens Maurer)
17
+ // 23 Sep 00 Added INTXX_C macro support (John Maddock).
18
+ // 22 Sep 00 Better 64-bit support (John Maddock)
19
+ // 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost
20
+ // 8 Aug 99 Initial version (Beman Dawes)
21
+
22
+
23
+ #ifndef BOOST_CSTDINT_HPP
24
+ #define BOOST_CSTDINT_HPP
25
+
26
+ //
27
+ // Since we always define the INT#_C macros as per C++0x,
28
+ // define __STDC_CONSTANT_MACROS so that <stdint.h> does the right
29
+ // thing if possible, and so that the user knows that the macros
30
+ // are actually defined as per C99.
31
+ //
32
+ #ifndef __STDC_CONSTANT_MACROS
33
+ # define __STDC_CONSTANT_MACROS
34
+ #endif
35
+
36
+ #include <boost/config.hpp>
37
+ //
38
+ // For the following code we get several warnings along the lines of:
39
+ //
40
+ // boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
41
+ //
42
+ // So we declare this a system header to suppress these warnings.
43
+ // See also https://github.com/boostorg/config/issues/190
44
+ //
45
+ #if defined(__GNUC__) && (__GNUC__ >= 4)
46
+ #pragma GCC system_header
47
+ #endif
48
+
49
+ //
50
+ // Note that GLIBC is a bit inconsistent about whether int64_t is defined or not
51
+ // depending upon what headers happen to have been included first...
52
+ // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
53
+ // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
54
+ //
55
+ #if defined(BOOST_HAS_STDINT_H) \
56
+ && (!defined(__GLIBC__) \
57
+ || defined(__GLIBC_HAVE_LONG_LONG) \
58
+ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
59
+
60
+ // The following #include is an implementation artifact; not part of interface.
61
+ # ifdef __hpux
62
+ // HP-UX has a vaguely nice <stdint.h> in a non-standard location
63
+ # include <inttypes.h>
64
+ # ifdef __STDC_32_MODE__
65
+ // this is triggered with GCC, because it defines __cplusplus < 199707L
66
+ # define BOOST_NO_INT64_T
67
+ # endif
68
+ # elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)
69
+ # include <inttypes.h>
70
+ # else
71
+ # include <stdint.h>
72
+
73
+ // There is a bug in Cygwin two _C macros
74
+ # if defined(INTMAX_C) && defined(__CYGWIN__)
75
+ # undef INTMAX_C
76
+ # undef UINTMAX_C
77
+ # define INTMAX_C(c) c##LL
78
+ # define UINTMAX_C(c) c##ULL
79
+ # endif
80
+
81
+ # endif
82
+
83
+ #if defined(__QNX__) && defined(__EXT_QNX)
84
+
85
+ // QNX (Dinkumware stdlib) defines these as non-standard names.
86
+ // Reflect to the standard names.
87
+
88
+ typedef ::intleast8_t int_least8_t;
89
+ typedef ::intfast8_t int_fast8_t;
90
+ typedef ::uintleast8_t uint_least8_t;
91
+ typedef ::uintfast8_t uint_fast8_t;
92
+
93
+ typedef ::intleast16_t int_least16_t;
94
+ typedef ::intfast16_t int_fast16_t;
95
+ typedef ::uintleast16_t uint_least16_t;
96
+ typedef ::uintfast16_t uint_fast16_t;
97
+
98
+ typedef ::intleast32_t int_least32_t;
99
+ typedef ::intfast32_t int_fast32_t;
100
+ typedef ::uintleast32_t uint_least32_t;
101
+ typedef ::uintfast32_t uint_fast32_t;
102
+
103
+ # ifndef BOOST_NO_INT64_T
104
+
105
+ typedef ::intleast64_t int_least64_t;
106
+ typedef ::intfast64_t int_fast64_t;
107
+ typedef ::uintleast64_t uint_least64_t;
108
+ typedef ::uintfast64_t uint_fast64_t;
109
+
110
+ # endif
111
+
112
+ #endif
113
+
114
+ namespace boost
115
+ {
116
+
117
+ using ::int8_t;
118
+ using ::int_least8_t;
119
+ using ::int_fast8_t;
120
+ using ::uint8_t;
121
+ using ::uint_least8_t;
122
+ using ::uint_fast8_t;
123
+
124
+ using ::int16_t;
125
+ using ::int_least16_t;
126
+ using ::int_fast16_t;
127
+ using ::uint16_t;
128
+ using ::uint_least16_t;
129
+ using ::uint_fast16_t;
130
+
131
+ using ::int32_t;
132
+ using ::int_least32_t;
133
+ using ::int_fast32_t;
134
+ using ::uint32_t;
135
+ using ::uint_least32_t;
136
+ using ::uint_fast32_t;
137
+
138
+ # ifndef BOOST_NO_INT64_T
139
+
140
+ using ::int64_t;
141
+ using ::int_least64_t;
142
+ using ::int_fast64_t;
143
+ using ::uint64_t;
144
+ using ::uint_least64_t;
145
+ using ::uint_fast64_t;
146
+
147
+ # endif
148
+
149
+ using ::intmax_t;
150
+ using ::uintmax_t;
151
+
152
+ } // namespace boost
153
+
154
+ #elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__)
155
+ // FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.
156
+ # include <inttypes.h>
157
+
158
+ namespace boost {
159
+
160
+ using ::int8_t;
161
+ typedef int8_t int_least8_t;
162
+ typedef int8_t int_fast8_t;
163
+ using ::uint8_t;
164
+ typedef uint8_t uint_least8_t;
165
+ typedef uint8_t uint_fast8_t;
166
+
167
+ using ::int16_t;
168
+ typedef int16_t int_least16_t;
169
+ typedef int16_t int_fast16_t;
170
+ using ::uint16_t;
171
+ typedef uint16_t uint_least16_t;
172
+ typedef uint16_t uint_fast16_t;
173
+
174
+ using ::int32_t;
175
+ typedef int32_t int_least32_t;
176
+ typedef int32_t int_fast32_t;
177
+ using ::uint32_t;
178
+ typedef uint32_t uint_least32_t;
179
+ typedef uint32_t uint_fast32_t;
180
+
181
+ # ifndef BOOST_NO_INT64_T
182
+
183
+ using ::int64_t;
184
+ typedef int64_t int_least64_t;
185
+ typedef int64_t int_fast64_t;
186
+ using ::uint64_t;
187
+ typedef uint64_t uint_least64_t;
188
+ typedef uint64_t uint_fast64_t;
189
+
190
+ typedef int64_t intmax_t;
191
+ typedef uint64_t uintmax_t;
192
+
193
+ # else
194
+
195
+ typedef int32_t intmax_t;
196
+ typedef uint32_t uintmax_t;
197
+
198
+ # endif
199
+
200
+ } // namespace boost
201
+
202
+ #else // BOOST_HAS_STDINT_H
203
+
204
+ # include <boost/limits.hpp> // implementation artifact; not part of interface
205
+ # include <limits.h> // needed for limits macros
206
+
207
+
208
+ namespace boost
209
+ {
210
+
211
+ // These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit
212
+ // platforms. For other systems, they will have to be hand tailored.
213
+ //
214
+ // Because the fast types are assumed to be the same as the undecorated types,
215
+ // it may be possible to hand tailor a more efficient implementation. Such
216
+ // an optimization may be illusionary; on the Intel x86-family 386 on, for
217
+ // example, byte arithmetic and load/stores are as fast as "int" sized ones.
218
+
219
+ // 8-bit types ------------------------------------------------------------//
220
+
221
+ # if UCHAR_MAX == 0xff
222
+ typedef signed char int8_t;
223
+ typedef signed char int_least8_t;
224
+ typedef signed char int_fast8_t;
225
+ typedef unsigned char uint8_t;
226
+ typedef unsigned char uint_least8_t;
227
+ typedef unsigned char uint_fast8_t;
228
+ # else
229
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
230
+ # endif
231
+
232
+ // 16-bit types -----------------------------------------------------------//
233
+
234
+ # if USHRT_MAX == 0xffff
235
+ # if defined(__crayx1)
236
+ // The Cray X1 has a 16-bit short, however it is not recommend
237
+ // for use in performance critical code.
238
+ typedef short int16_t;
239
+ typedef short int_least16_t;
240
+ typedef int int_fast16_t;
241
+ typedef unsigned short uint16_t;
242
+ typedef unsigned short uint_least16_t;
243
+ typedef unsigned int uint_fast16_t;
244
+ # else
245
+ typedef short int16_t;
246
+ typedef short int_least16_t;
247
+ typedef short int_fast16_t;
248
+ typedef unsigned short uint16_t;
249
+ typedef unsigned short uint_least16_t;
250
+ typedef unsigned short uint_fast16_t;
251
+ # endif
252
+ # elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)
253
+ // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified
254
+ // MTA / XMT does support the following non-standard integer types
255
+ typedef __short16 int16_t;
256
+ typedef __short16 int_least16_t;
257
+ typedef __short16 int_fast16_t;
258
+ typedef unsigned __short16 uint16_t;
259
+ typedef unsigned __short16 uint_least16_t;
260
+ typedef unsigned __short16 uint_fast16_t;
261
+ # elif (USHRT_MAX == 0xffffffff) && defined(CRAY)
262
+ // no 16-bit types on Cray:
263
+ typedef short int_least16_t;
264
+ typedef short int_fast16_t;
265
+ typedef unsigned short uint_least16_t;
266
+ typedef unsigned short uint_fast16_t;
267
+ # else
268
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
269
+ # endif
270
+
271
+ // 32-bit types -----------------------------------------------------------//
272
+
273
+ # if UINT_MAX == 0xffffffff
274
+ typedef int int32_t;
275
+ typedef int int_least32_t;
276
+ typedef int int_fast32_t;
277
+ typedef unsigned int uint32_t;
278
+ typedef unsigned int uint_least32_t;
279
+ typedef unsigned int uint_fast32_t;
280
+ # elif (USHRT_MAX == 0xffffffff)
281
+ typedef short int32_t;
282
+ typedef short int_least32_t;
283
+ typedef short int_fast32_t;
284
+ typedef unsigned short uint32_t;
285
+ typedef unsigned short uint_least32_t;
286
+ typedef unsigned short uint_fast32_t;
287
+ # elif ULONG_MAX == 0xffffffff
288
+ typedef long int32_t;
289
+ typedef long int_least32_t;
290
+ typedef long int_fast32_t;
291
+ typedef unsigned long uint32_t;
292
+ typedef unsigned long uint_least32_t;
293
+ typedef unsigned long uint_fast32_t;
294
+ # elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
295
+ // Integers are 64 bits on the MTA / XMT
296
+ typedef __int32 int32_t;
297
+ typedef __int32 int_least32_t;
298
+ typedef __int32 int_fast32_t;
299
+ typedef unsigned __int32 uint32_t;
300
+ typedef unsigned __int32 uint_least32_t;
301
+ typedef unsigned __int32 uint_fast32_t;
302
+ # else
303
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
304
+ # endif
305
+
306
+ // 64-bit types + intmax_t and uintmax_t ----------------------------------//
307
+
308
+ # if defined(BOOST_HAS_LONG_LONG) && \
309
+ !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) && \
310
+ (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \
311
+ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
312
+ # if defined(__hpux)
313
+ // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
314
+ # elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL)
315
+ // 2**64 - 1
316
+ # else
317
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
318
+ # endif
319
+
320
+ typedef ::boost::long_long_type intmax_t;
321
+ typedef ::boost::ulong_long_type uintmax_t;
322
+ typedef ::boost::long_long_type int64_t;
323
+ typedef ::boost::long_long_type int_least64_t;
324
+ typedef ::boost::long_long_type int_fast64_t;
325
+ typedef ::boost::ulong_long_type uint64_t;
326
+ typedef ::boost::ulong_long_type uint_least64_t;
327
+ typedef ::boost::ulong_long_type uint_fast64_t;
328
+
329
+ # elif ULONG_MAX != 0xffffffff
330
+
331
+ # if ULONG_MAX == 18446744073709551615 // 2**64 - 1
332
+ typedef long intmax_t;
333
+ typedef unsigned long uintmax_t;
334
+ typedef long int64_t;
335
+ typedef long int_least64_t;
336
+ typedef long int_fast64_t;
337
+ typedef unsigned long uint64_t;
338
+ typedef unsigned long uint_least64_t;
339
+ typedef unsigned long uint_fast64_t;
340
+ # else
341
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
342
+ # endif
343
+ # elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)
344
+ __extension__ typedef long long intmax_t;
345
+ __extension__ typedef unsigned long long uintmax_t;
346
+ __extension__ typedef long long int64_t;
347
+ __extension__ typedef long long int_least64_t;
348
+ __extension__ typedef long long int_fast64_t;
349
+ __extension__ typedef unsigned long long uint64_t;
350
+ __extension__ typedef unsigned long long uint_least64_t;
351
+ __extension__ typedef unsigned long long uint_fast64_t;
352
+ # elif defined(BOOST_HAS_MS_INT64)
353
+ //
354
+ // we have Borland/Intel/Microsoft __int64:
355
+ //
356
+ typedef __int64 intmax_t;
357
+ typedef unsigned __int64 uintmax_t;
358
+ typedef __int64 int64_t;
359
+ typedef __int64 int_least64_t;
360
+ typedef __int64 int_fast64_t;
361
+ typedef unsigned __int64 uint64_t;
362
+ typedef unsigned __int64 uint_least64_t;
363
+ typedef unsigned __int64 uint_fast64_t;
364
+ # else // assume no 64-bit integers
365
+ # define BOOST_NO_INT64_T
366
+ typedef int32_t intmax_t;
367
+ typedef uint32_t uintmax_t;
368
+ # endif
369
+
370
+ } // namespace boost
371
+
372
+
373
+ #endif // BOOST_HAS_STDINT_H
374
+
375
+ // intptr_t/uintptr_t are defined separately because they are optional and not universally available
376
+ #if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H)
377
+ // Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h
378
+ #include <stddef.h>
379
+ #endif
380
+
381
+ #if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \
382
+ || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
383
+ || defined(__CYGWIN__) || defined(__VXWORKS__) \
384
+ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
385
+ || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX)
386
+
387
+ namespace boost {
388
+ using ::intptr_t;
389
+ using ::uintptr_t;
390
+ }
391
+ #define BOOST_HAS_INTPTR_T
392
+
393
+ // Clang pretends to be GCC, so it'll match this condition
394
+ #elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
395
+
396
+ namespace boost {
397
+ typedef __INTPTR_TYPE__ intptr_t;
398
+ typedef __UINTPTR_TYPE__ uintptr_t;
399
+ }
400
+ #define BOOST_HAS_INTPTR_T
401
+
402
+ #endif
403
+
404
+ #endif // BOOST_CSTDINT_HPP
405
+
406
+
407
+ /****************************************************
408
+
409
+ Macro definition section:
410
+
411
+ Added 23rd September 2000 (John Maddock).
412
+ Modified 11th September 2001 to be excluded when
413
+ BOOST_HAS_STDINT_H is defined (John Maddock).
414
+ Modified 11th Dec 2009 to always define the
415
+ INT#_C macros if they're not already defined (John Maddock).
416
+
417
+ ******************************************************/
418
+
419
+ #if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
420
+ (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
421
+ //
422
+ // Undef the macros as a precaution, since we may get here if <stdint.h> has failed
423
+ // to define them all, see https://svn.boost.org/trac/boost/ticket/12786
424
+ //
425
+ #undef INT8_C
426
+ #undef INT16_C
427
+ #undef INT32_C
428
+ #undef INT64_C
429
+ #undef INTMAX_C
430
+ #undef UINT8_C
431
+ #undef UINT16_C
432
+ #undef UINT32_C
433
+ #undef UINT64_C
434
+ #undef UINTMAX_C
435
+
436
+ #include <limits.h>
437
+ # define BOOST__STDC_CONSTANT_MACROS_DEFINED
438
+ # if defined(BOOST_HAS_MS_INT64)
439
+ //
440
+ // Borland/Intel/Microsoft compilers have width specific suffixes:
441
+ //
442
+ #ifndef INT8_C
443
+ # define INT8_C(value) value##i8
444
+ #endif
445
+ #ifndef INT16_C
446
+ # define INT16_C(value) value##i16
447
+ #endif
448
+ #ifndef INT32_C
449
+ # define INT32_C(value) value##i32
450
+ #endif
451
+ #ifndef INT64_C
452
+ # define INT64_C(value) value##i64
453
+ #endif
454
+ # ifdef BOOST_BORLANDC
455
+ // Borland bug: appending ui8 makes the type a signed char
456
+ # define UINT8_C(value) static_cast<unsigned char>(value##u)
457
+ # else
458
+ # define UINT8_C(value) value##ui8
459
+ # endif
460
+ #ifndef UINT16_C
461
+ # define UINT16_C(value) value##ui16
462
+ #endif
463
+ #ifndef UINT32_C
464
+ # define UINT32_C(value) value##ui32
465
+ #endif
466
+ #ifndef UINT64_C
467
+ # define UINT64_C(value) value##ui64
468
+ #endif
469
+ #ifndef INTMAX_C
470
+ # define INTMAX_C(value) value##i64
471
+ # define UINTMAX_C(value) value##ui64
472
+ #endif
473
+
474
+ # else
475
+ // do it the old fashioned way:
476
+
477
+ // 8-bit types ------------------------------------------------------------//
478
+
479
+ # if (UCHAR_MAX == 0xff) && !defined(INT8_C)
480
+ # define INT8_C(value) static_cast<boost::int8_t>(value)
481
+ # define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
482
+ # endif
483
+
484
+ // 16-bit types -----------------------------------------------------------//
485
+
486
+ # if (USHRT_MAX == 0xffff) && !defined(INT16_C)
487
+ # define INT16_C(value) static_cast<boost::int16_t>(value)
488
+ # define UINT16_C(value) static_cast<boost::uint16_t>(value##u)
489
+ # endif
490
+
491
+ // 32-bit types -----------------------------------------------------------//
492
+ #ifndef INT32_C
493
+ # if (UINT_MAX == 0xffffffff)
494
+ # define INT32_C(value) value
495
+ # define UINT32_C(value) value##u
496
+ # elif ULONG_MAX == 0xffffffff
497
+ # define INT32_C(value) value##L
498
+ # define UINT32_C(value) value##uL
499
+ # endif
500
+ #endif
501
+
502
+ // 64-bit types + intmax_t and uintmax_t ----------------------------------//
503
+ #ifndef INT64_C
504
+ # if defined(BOOST_HAS_LONG_LONG) && \
505
+ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX))
506
+
507
+ # if defined(__hpux)
508
+ // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
509
+ # define INT64_C(value) value##LL
510
+ # define UINT64_C(value) value##uLL
511
+ # elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \
512
+ (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \
513
+ (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \
514
+ (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \
515
+ (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL)
516
+
517
+ # define INT64_C(value) value##LL
518
+ # define UINT64_C(value) value##uLL
519
+ # else
520
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
521
+ # endif
522
+ # elif ULONG_MAX != 0xffffffff
523
+
524
+ # if ULONG_MAX == 18446744073709551615U // 2**64 - 1
525
+ # define INT64_C(value) value##L
526
+ # define UINT64_C(value) value##uL
527
+ # else
528
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
529
+ # endif
530
+ # elif defined(BOOST_HAS_LONG_LONG)
531
+ // Usual macros not defined, work things out for ourselves:
532
+ # if(~0uLL == 18446744073709551615ULL)
533
+ # define INT64_C(value) value##LL
534
+ # define UINT64_C(value) value##uLL
535
+ # else
536
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
537
+ # endif
538
+ # else
539
+ # error defaults not correct; you must hand modify boost/cstdint.hpp
540
+ # endif
541
+
542
+ # ifdef BOOST_NO_INT64_T
543
+ # define INTMAX_C(value) INT32_C(value)
544
+ # define UINTMAX_C(value) UINT32_C(value)
545
+ # else
546
+ # define INTMAX_C(value) INT64_C(value)
547
+ # define UINTMAX_C(value) UINT64_C(value)
548
+ # endif
549
+ #endif
550
+ # endif // Borland/Microsoft specific width suffixes
551
+
552
+ #endif // INT#_C macros.
553
+
554
+
555
+
556
+
@@ -0,0 +1,70 @@
1
+ // boost cxx11_char_types.hpp --------------------------------------------------------//
2
+
3
+ // Copyright Beman Dawes 2011
4
+
5
+ // Distributed under the Boost Software License, Version 1.0.
6
+ // See http://www.boost.org/LICENSE_1_0.txt
7
+
8
+ //--------------------------------------------------------------------------------------//
9
+ // //
10
+ // The purpose of this header is to emulate the C++11 char16_t and char32_t //
11
+ // character and string types so that they can be used in both C++11 and C++03 //
12
+ // programs. //
13
+ // //
14
+ // The emulation names use char16/char32 rather than char16_t/char32_t to avoid use //
15
+ // of names that are keywords in C++11. //
16
+ // //
17
+ // The emulation names are placed in namespace boost, as is usual for Boost C++11 //
18
+ // emulation names such as those in header <boost/cstdint.hpp>. //
19
+ // //
20
+ // An alternative would would have been to place the C++11 emulation names at global //
21
+ // scope, and put the C++11 string types in namespace std. That is the approach taken //
22
+ // by Microsoft Visual Studio 2010, but is controversion with some Boost users and //
23
+ // developers, and runs counter to usual Boost practice. //
24
+ // //
25
+ // Thanks to Mathias Gaunard and others for discussions leading to the final form //
26
+ // of these typedefs. //
27
+ // //
28
+ // Boost C++11 C++03 //
29
+ // ---------------- -------------- -------------------------------- //
30
+ // boost::char16 char16_t uint16_t //
31
+ // boost::char32 char32_t uint32_t //
32
+ // boost::u16string std::u16string std::basic_string<boost::char16> //
33
+ // boost::u32string std::u32string std::basic_string<boost::char32> //
34
+ // //
35
+ // Uses the typedefs provided by Microsoft Visual C++ 2010 if present //
36
+ // //
37
+ // Thanks to Mathias Gaunard and others for discussions leading to the final form //
38
+ // of these typedefs. //
39
+ // //
40
+ //--------------------------------------------------------------------------------------//
41
+
42
+ #if !defined(BOOST_CXX11_CHAR_TYPES_HPP)
43
+ # define BOOST_CXX11_CHAR_TYPES_HPP
44
+
45
+ # include <boost/config.hpp>
46
+ # include <boost/cstdint.hpp>
47
+ # include <string>
48
+
49
+ namespace boost
50
+ {
51
+
52
+ # if defined(BOOST_NO_CXX11_CHAR16_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
53
+ typedef boost::uint_least16_t char16;
54
+ typedef std::basic_string<boost::char16> u16string;
55
+ # else
56
+ typedef char16_t char16;
57
+ typedef std::u16string u16string;
58
+ # endif
59
+
60
+ # if defined(BOOST_NO_CXX11_CHAR32_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
61
+ typedef boost::uint_least32_t char32;
62
+ typedef std::basic_string<boost::char32> u32string;
63
+ # else
64
+ typedef char32_t char32;
65
+ typedef std::u32string u32string;
66
+ # endif
67
+
68
+ } // namespace boost
69
+
70
+ #endif // !defined(BOOST_CXX11_CHAR_TYPES_HPP)
@@ -0,0 +1,10 @@
1
+ // Copyright David Abrahams 2002.
2
+ // Distributed under the Boost Software License, Version 1.0. (See
3
+ // accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+ #ifndef BOOST_WORKAROUND_DWA2002126_HPP
6
+ #define BOOST_WORKAROUND_DWA2002126_HPP
7
+
8
+ #include <boost/config/workaround.hpp>
9
+
10
+ #endif // BOOST_WORKAROUND_DWA2002126_HPP