mqt-core 3.3.2__cp312-cp312-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.cp312-win_amd64.pyd +0 -0
  21. mqt/core/dd.pyi +1016 -0
  22. mqt/core/dd_evaluation.py +368 -0
  23. mqt/core/fomac.cp312-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.cp312-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.cp312-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,398 @@
1
+ // (C) Copyright John Maddock 2001 - 2003.
2
+ // (C) Copyright Darin Adler 2001 - 2002.
3
+ // (C) Copyright Peter Dimov 2001.
4
+ // (C) Copyright Aleksey Gurtovoy 2002.
5
+ // (C) Copyright David Abrahams 2002 - 2003.
6
+ // (C) Copyright Beman Dawes 2002 - 2003.
7
+ // Use, modification and distribution are subject to the
8
+ // Boost Software License, Version 1.0. (See accompanying file
9
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
+
11
+ // See http://www.boost.org for most recent version.
12
+ //
13
+ // Microsoft Visual C++ compiler setup:
14
+ //
15
+ // We need to be careful with the checks in this file, as contrary
16
+ // to popular belief there are versions with _MSC_VER with the final
17
+ // digit non-zero (mainly the MIPS cross compiler).
18
+ //
19
+ // So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
20
+ // No other comparisons (==, >, or <=) are safe.
21
+ //
22
+
23
+ #define BOOST_MSVC _MSC_VER
24
+
25
+ //
26
+ // Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
27
+ //
28
+ #if _MSC_FULL_VER > 100000000
29
+ # define BOOST_MSVC_FULL_VER _MSC_FULL_VER
30
+ #else
31
+ # define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
32
+ #endif
33
+
34
+ // Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
35
+ #pragma warning( disable : 4503 ) // warning: decorated name length exceeded
36
+
37
+ #define BOOST_HAS_PRAGMA_ONCE
38
+
39
+ //
40
+ // versions check:
41
+ // we don't support Visual C++ prior to version 7.1:
42
+ #if _MSC_VER < 1310
43
+ # error "Compiler not supported or configured - please reconfigure"
44
+ #endif
45
+
46
+ // VS2005 (VC8) docs: __assume has been in Visual C++ for multiple releases
47
+ #define BOOST_UNREACHABLE_RETURN(x) __assume(0);
48
+
49
+ #if _MSC_FULL_VER < 180020827
50
+ # define BOOST_NO_FENV_H
51
+ #endif
52
+
53
+ #if _MSC_VER < 1400
54
+ // although a conforming signature for swprint exists in VC7.1
55
+ // it appears not to actually work:
56
+ # define BOOST_NO_SWPRINTF
57
+ // Our extern template tests also fail for this compiler:
58
+ # define BOOST_NO_CXX11_EXTERN_TEMPLATE
59
+ // Variadic macros do not exist for VC7.1 and lower
60
+ # define BOOST_NO_CXX11_VARIADIC_MACROS
61
+ # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
62
+ #endif
63
+
64
+ #if _MSC_VER < 1500 // 140X == VC++ 8.0
65
+ # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
66
+ #endif
67
+
68
+ #if _MSC_VER < 1600 // 150X == VC++ 9.0
69
+ // A bug in VC9:
70
+ # define BOOST_NO_ADL_BARRIER
71
+ #endif
72
+
73
+
74
+ #ifndef _NATIVE_WCHAR_T_DEFINED
75
+ # define BOOST_NO_INTRINSIC_WCHAR_T
76
+ #endif
77
+
78
+ //
79
+ // check for exception handling support:
80
+ #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
81
+ # define BOOST_NO_EXCEPTIONS
82
+ #endif
83
+
84
+ //
85
+ // __int64 support:
86
+ //
87
+ #define BOOST_HAS_MS_INT64
88
+ #if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)
89
+ # define BOOST_HAS_LONG_LONG
90
+ #else
91
+ # define BOOST_NO_LONG_LONG
92
+ #endif
93
+ #if (_MSC_VER >= 1400) && !defined(_DEBUG)
94
+ # define BOOST_HAS_NRVO
95
+ #endif
96
+ #if _MSC_VER >= 1600 // 160X == VC++ 10.0
97
+ # define BOOST_HAS_PRAGMA_DETECT_MISMATCH
98
+ #endif
99
+ //
100
+ // disable Win32 API's if compiler extensions are
101
+ // turned off:
102
+ //
103
+ #if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
104
+ # define BOOST_DISABLE_WIN32
105
+ #endif
106
+ #if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
107
+ # define BOOST_NO_RTTI
108
+ #endif
109
+
110
+ // Deprecated symbol markup
111
+ #if (_MSC_VER >= 1400)
112
+ #define BOOST_DEPRECATED(msg) __declspec(deprecated(msg))
113
+ #else
114
+ // MSVC 7.1 only supports the attribute without a message
115
+ #define BOOST_DEPRECATED(msg) __declspec(deprecated)
116
+ #endif
117
+
118
+ //
119
+ // TR1 features:
120
+ //
121
+ #if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0)
122
+ // # define BOOST_HAS_TR1_HASH // don't know if this is true yet.
123
+ // # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet.
124
+ # define BOOST_HAS_TR1_UNORDERED_MAP
125
+ # define BOOST_HAS_TR1_UNORDERED_SET
126
+ #endif
127
+
128
+ //
129
+ // C++0x features
130
+ //
131
+ // See above for BOOST_NO_LONG_LONG
132
+
133
+ // C++ features supported by VC++ 10 (aka 2010)
134
+ //
135
+ #if _MSC_VER < 1600
136
+ # define BOOST_NO_CXX11_AUTO_DECLARATIONS
137
+ # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
138
+ # define BOOST_NO_CXX11_LAMBDAS
139
+ # define BOOST_NO_CXX11_RVALUE_REFERENCES
140
+ # define BOOST_NO_CXX11_STATIC_ASSERT
141
+ # define BOOST_NO_CXX11_NULLPTR
142
+ # define BOOST_NO_CXX11_DECLTYPE
143
+ #endif // _MSC_VER < 1600
144
+
145
+ #if _MSC_VER >= 1600
146
+ # define BOOST_HAS_STDINT_H
147
+ #endif
148
+
149
+ // C++11 features supported by VC++ 11 (aka 2012)
150
+ //
151
+ #if _MSC_VER < 1700
152
+ # define BOOST_NO_CXX11_FINAL
153
+ # define BOOST_NO_CXX11_RANGE_BASED_FOR
154
+ # define BOOST_NO_CXX11_SCOPED_ENUMS
155
+ # define BOOST_NO_CXX11_OVERRIDE
156
+ #endif // _MSC_VER < 1700
157
+
158
+ // C++11 features supported by VC++ 12 (aka 2013).
159
+ //
160
+ #if _MSC_FULL_VER < 180020827
161
+ # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
162
+ # define BOOST_NO_CXX11_DELETED_FUNCTIONS
163
+ # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
164
+ # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
165
+ # define BOOST_NO_CXX11_RAW_LITERALS
166
+ # define BOOST_NO_CXX11_TEMPLATE_ALIASES
167
+ # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
168
+ # define BOOST_NO_CXX11_VARIADIC_TEMPLATES
169
+ # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
170
+ # define BOOST_NO_CXX11_DECLTYPE_N3276
171
+ #endif
172
+
173
+ #if _MSC_FULL_VER >= 180020827
174
+ #define BOOST_HAS_EXPM1
175
+ #define BOOST_HAS_LOG1P
176
+ #endif
177
+
178
+ // C++11 features supported by VC++ 14 (aka 2015)
179
+ //
180
+ #if (_MSC_FULL_VER < 190023026)
181
+ # define BOOST_NO_CXX11_NOEXCEPT
182
+ # define BOOST_NO_CXX11_DEFAULTED_MOVES
183
+ # define BOOST_NO_CXX11_REF_QUALIFIERS
184
+ # define BOOST_NO_CXX11_USER_DEFINED_LITERALS
185
+ # define BOOST_NO_CXX11_ALIGNAS
186
+ # define BOOST_NO_CXX11_ALIGNOF
187
+ # define BOOST_NO_CXX11_INLINE_NAMESPACES
188
+ # define BOOST_NO_CXX11_CHAR16_T
189
+ # define BOOST_NO_CXX11_CHAR32_T
190
+ # define BOOST_NO_CXX11_UNICODE_LITERALS
191
+ # define BOOST_NO_CXX14_DECLTYPE_AUTO
192
+ # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
193
+ # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
194
+ # define BOOST_NO_CXX14_BINARY_LITERALS
195
+ # define BOOST_NO_CXX14_GENERIC_LAMBDAS
196
+ # define BOOST_NO_CXX14_DIGIT_SEPARATORS
197
+ # define BOOST_NO_CXX11_THREAD_LOCAL
198
+ # define BOOST_NO_CXX11_UNRESTRICTED_UNION
199
+ #endif
200
+ // C++11 features supported by VC++ 14 update 3 (aka 2015)
201
+ //
202
+ #if (_MSC_FULL_VER < 190024210)
203
+ # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
204
+ # define BOOST_NO_SFINAE_EXPR
205
+ # define BOOST_NO_CXX11_CONSTEXPR
206
+ #endif
207
+
208
+ // C++14 features supported by VC++ 14.1 (Visual Studio 2017)
209
+ //
210
+ #if (_MSC_VER < 1910)
211
+ # define BOOST_NO_CXX14_AGGREGATE_NSDMI
212
+ #endif
213
+
214
+ // C++17 features supported by VC++ 14.1 (Visual Studio 2017) Update 3
215
+ //
216
+ #if (_MSC_VER < 1911) || (_MSVC_LANG < 201703)
217
+ # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
218
+ # define BOOST_NO_CXX17_IF_CONSTEXPR
219
+ // Let the defaults handle these now:
220
+ //# define BOOST_NO_CXX17_HDR_OPTIONAL
221
+ //# define BOOST_NO_CXX17_HDR_STRING_VIEW
222
+ #endif
223
+
224
+ // MSVC including version 14 has not yet completely
225
+ // implemented value-initialization, as is reported:
226
+ // "VC++ does not value-initialize members of derived classes without
227
+ // user-declared constructor", reported in 2009 by Sylvester Hesp:
228
+ // https://connect.microsoft.com/VisualStudio/feedback/details/484295
229
+ // "Presence of copy constructor breaks member class initialization",
230
+ // reported in 2009 by Alex Vakulenko:
231
+ // https://connect.microsoft.com/VisualStudio/feedback/details/499606
232
+ // "Value-initialization in new-expression", reported in 2005 by
233
+ // Pavel Kuznetsov (MetaCommunications Engineering):
234
+ // https://connect.microsoft.com/VisualStudio/feedback/details/100744
235
+ // Reported again by John Maddock in 2015 for VC14:
236
+ // https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly
237
+ // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
238
+ // (Niels Dekker, LKEB, May 2010)
239
+ // Still present in VC15.5, Dec 2017.
240
+ #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
241
+ //
242
+ // C++ 11:
243
+ //
244
+ // This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell
245
+ // if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go
246
+ // on defining it for now:
247
+ //
248
+ #if (_MSC_FULL_VER < 193030705) || (_MSVC_LANG < 202004)
249
+ # define BOOST_NO_TWO_PHASE_NAME_LOOKUP
250
+ #endif
251
+
252
+ #if (_MSC_VER < 1912) || (_MSVC_LANG < 201402)
253
+ // Supported from msvc-15.5 onwards:
254
+ #define BOOST_NO_CXX11_SFINAE_EXPR
255
+ #endif
256
+ #if (_MSC_VER < 1915) || (_MSVC_LANG < 201402)
257
+ // C++ 14:
258
+ // Still gives internal compiler error for msvc-15.5:
259
+ # define BOOST_NO_CXX14_CONSTEXPR
260
+ #endif
261
+ // C++ 17:
262
+ #if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)
263
+ #define BOOST_NO_CXX17_INLINE_VARIABLES
264
+ #define BOOST_NO_CXX17_FOLD_EXPRESSIONS
265
+ #endif
266
+ #if (_MSC_VER < 1914) || (_MSVC_LANG < 201703)
267
+ #define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
268
+ #endif
269
+
270
+ //
271
+ // Things that don't work in clr mode:
272
+ //
273
+ #ifdef _M_CEE
274
+ #ifndef BOOST_NO_CXX11_THREAD_LOCAL
275
+ # define BOOST_NO_CXX11_THREAD_LOCAL
276
+ #endif
277
+ #if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG)
278
+ # define BOOST_NO_SFINAE_EXPR
279
+ #endif
280
+ #ifndef BOOST_NO_CXX11_REF_QUALIFIERS
281
+ # define BOOST_NO_CXX11_REF_QUALIFIERS
282
+ #endif
283
+ #endif
284
+ #ifdef _M_CEE_PURE
285
+ #ifndef BOOST_NO_CXX11_CONSTEXPR
286
+ # define BOOST_NO_CXX11_CONSTEXPR
287
+ #endif
288
+ #endif
289
+
290
+ //
291
+ // prefix and suffix headers:
292
+ //
293
+ #ifndef BOOST_ABI_PREFIX
294
+ # define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
295
+ #endif
296
+ #ifndef BOOST_ABI_SUFFIX
297
+ # define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
298
+ #endif
299
+
300
+ //
301
+ // Approximate compiler conformance version
302
+ //
303
+ #ifdef _MSVC_LANG
304
+ # define BOOST_CXX_VERSION _MSVC_LANG
305
+ #elif defined(_HAS_CXX17)
306
+ # define BOOST_CXX_VERSION 201703L
307
+ #elif BOOST_MSVC >= 1916
308
+ # define BOOST_CXX_VERSION 201402L
309
+ #endif
310
+
311
+ #if BOOST_CXX_VERSION >= 201703L
312
+ # define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
313
+ #endif
314
+
315
+ #ifndef BOOST_COMPILER
316
+ // TODO:
317
+ // these things are mostly bogus. 1200 means version 12.0 of the compiler. The
318
+ // artificial versions assigned to them only refer to the versions of some IDE
319
+ // these compilers have been shipped with, and even that is not all of it. Some
320
+ // were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
321
+ // IOW, you can't use these 'versions' in any sensible way. Sorry.
322
+ # if defined(UNDER_CE)
323
+ # if _MSC_VER < 1400
324
+ // Note: I'm not aware of any CE compiler with version 13xx
325
+ # if defined(BOOST_ASSERT_CONFIG)
326
+ # error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
327
+ # else
328
+ # pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
329
+ # endif
330
+ # elif _MSC_VER < 1500
331
+ # define BOOST_COMPILER_VERSION evc8
332
+ # elif _MSC_VER < 1600
333
+ # define BOOST_COMPILER_VERSION evc9
334
+ # elif _MSC_VER < 1700
335
+ # define BOOST_COMPILER_VERSION evc10
336
+ # elif _MSC_VER < 1800
337
+ # define BOOST_COMPILER_VERSION evc11
338
+ # elif _MSC_VER < 1900
339
+ # define BOOST_COMPILER_VERSION evc12
340
+ # elif _MSC_VER < 2000
341
+ # define BOOST_COMPILER_VERSION evc14
342
+ # else
343
+ # if defined(BOOST_ASSERT_CONFIG)
344
+ # error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
345
+ # else
346
+ # pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
347
+ # endif
348
+ # endif
349
+ # else
350
+ # if _MSC_VER < 1200
351
+ // Note: Versions up to 10.0 aren't supported.
352
+ # define BOOST_COMPILER_VERSION 5.0
353
+ # elif _MSC_VER < 1300
354
+ # define BOOST_COMPILER_VERSION 6.0
355
+ # elif _MSC_VER < 1310
356
+ # define BOOST_COMPILER_VERSION 7.0
357
+ # elif _MSC_VER < 1400
358
+ # define BOOST_COMPILER_VERSION 7.1
359
+ # elif _MSC_VER < 1500
360
+ # define BOOST_COMPILER_VERSION 8.0
361
+ # elif _MSC_VER < 1600
362
+ # define BOOST_COMPILER_VERSION 9.0
363
+ # elif _MSC_VER < 1700
364
+ # define BOOST_COMPILER_VERSION 10.0
365
+ # elif _MSC_VER < 1800
366
+ # define BOOST_COMPILER_VERSION 11.0
367
+ # elif _MSC_VER < 1900
368
+ # define BOOST_COMPILER_VERSION 12.0
369
+ # elif _MSC_VER < 1910
370
+ # define BOOST_COMPILER_VERSION 14.0
371
+ # elif _MSC_VER < 1920
372
+ # define BOOST_COMPILER_VERSION 14.1
373
+ # elif _MSC_VER < 1930
374
+ # define BOOST_COMPILER_VERSION 14.2
375
+ # elif _MSC_VER < 1940
376
+ # define BOOST_COMPILER_VERSION 14.3
377
+ # else
378
+ # define BOOST_COMPILER_VERSION _MSC_VER
379
+ # endif
380
+ # endif
381
+
382
+ # define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
383
+ #endif
384
+
385
+ #include <boost/config/pragma_message.hpp>
386
+
387
+ //
388
+ // last known and checked version is 19.3x (VS2022):
389
+ #if (_MSC_VER >= 1940)
390
+ # if defined(BOOST_ASSERT_CONFIG)
391
+ # error "Boost.Config is older than your current compiler version."
392
+ # elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)
393
+ //
394
+ // Disabled as of March 2018 - the pace of VS releases is hard to keep up with
395
+ // and in any case, we have relatively few defect macros defined now.
396
+ // BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.")
397
+ # endif
398
+ #endif
@@ -0,0 +1,303 @@
1
+ // (C) Copyright Douglas Gregor 2010
2
+ //
3
+ // Use, modification and distribution are subject to the
4
+ // Boost Software License, Version 1.0. (See accompanying file
5
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
+
7
+ // See http://www.boost.org for most recent version.
8
+
9
+ // compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang.
10
+
11
+ #define BOOST_HAS_PRAGMA_ONCE
12
+
13
+ // Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
14
+ #if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
15
+ # define BOOST_HAS_PRAGMA_DETECT_MISMATCH
16
+ #endif
17
+
18
+ // When compiling with clang before __has_extension was defined,
19
+ // even if one writes 'defined(__has_extension) && __has_extension(xxx)',
20
+ // clang reports a compiler error. So the only workaround found is:
21
+
22
+ #ifndef __has_extension
23
+ #define __has_extension __has_feature
24
+ #endif
25
+
26
+ #ifndef __has_cpp_attribute
27
+ #define __has_cpp_attribute(x) 0
28
+ #endif
29
+
30
+ #if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
31
+ # define BOOST_NO_EXCEPTIONS
32
+ #endif
33
+
34
+ #if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
35
+ # define BOOST_NO_RTTI
36
+ #endif
37
+
38
+ #if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
39
+ # define BOOST_NO_TYPEID
40
+ #endif
41
+
42
+ #if defined(__int64) && !defined(__GNUC__)
43
+ # define BOOST_HAS_MS_INT64
44
+ #endif
45
+
46
+ #define BOOST_HAS_NRVO
47
+
48
+ // Branch prediction hints
49
+ #if defined(__has_builtin)
50
+ #if __has_builtin(__builtin_expect)
51
+ #define BOOST_LIKELY(x) __builtin_expect(x, 1)
52
+ #define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
53
+ #endif
54
+ #endif
55
+
56
+ // Clang supports "long long" in all compilation modes.
57
+ #define BOOST_HAS_LONG_LONG
58
+
59
+ //
60
+ // Dynamic shared object (DSO) and dynamic-link library (DLL) support
61
+ //
62
+ #if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
63
+ # define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
64
+ # define BOOST_SYMBOL_IMPORT
65
+ # define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
66
+ #endif
67
+
68
+ //
69
+ // The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
70
+ // between switch labels.
71
+ //
72
+ #if __cplusplus >= 201103L && defined(__has_warning)
73
+ # if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
74
+ # define BOOST_FALLTHROUGH [[clang::fallthrough]]
75
+ # endif
76
+ #endif
77
+
78
+ #if !__has_feature(cxx_auto_type)
79
+ # define BOOST_NO_CXX11_AUTO_DECLARATIONS
80
+ # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
81
+ #endif
82
+
83
+ //
84
+ // Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
85
+ //
86
+ #if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
87
+ # define BOOST_NO_CXX11_CHAR16_T
88
+ # define BOOST_NO_CXX11_CHAR32_T
89
+ #endif
90
+
91
+ #if !__has_feature(cxx_constexpr)
92
+ # define BOOST_NO_CXX11_CONSTEXPR
93
+ #endif
94
+
95
+ #if !__has_feature(cxx_decltype)
96
+ # define BOOST_NO_CXX11_DECLTYPE
97
+ #endif
98
+
99
+ #if !__has_feature(cxx_decltype_incomplete_return_types)
100
+ # define BOOST_NO_CXX11_DECLTYPE_N3276
101
+ #endif
102
+
103
+ #if !__has_feature(cxx_defaulted_functions)
104
+ # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
105
+ #endif
106
+
107
+ #if !__has_feature(cxx_deleted_functions)
108
+ # define BOOST_NO_CXX11_DELETED_FUNCTIONS
109
+ #endif
110
+
111
+ #if !__has_feature(cxx_explicit_conversions)
112
+ # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
113
+ #endif
114
+
115
+ #if !__has_feature(cxx_default_function_template_args)
116
+ # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
117
+ #endif
118
+
119
+ #if !__has_feature(cxx_generalized_initializers)
120
+ # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
121
+ #endif
122
+
123
+ #if !__has_feature(cxx_lambdas)
124
+ # define BOOST_NO_CXX11_LAMBDAS
125
+ #endif
126
+
127
+ #if !__has_feature(cxx_local_type_template_args)
128
+ # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
129
+ #endif
130
+
131
+ #if !__has_feature(cxx_noexcept)
132
+ # define BOOST_NO_CXX11_NOEXCEPT
133
+ #endif
134
+
135
+ #if !__has_feature(cxx_nullptr)
136
+ # define BOOST_NO_CXX11_NULLPTR
137
+ #endif
138
+
139
+ #if !__has_feature(cxx_range_for)
140
+ # define BOOST_NO_CXX11_RANGE_BASED_FOR
141
+ #endif
142
+
143
+ #if !__has_feature(cxx_raw_string_literals)
144
+ # define BOOST_NO_CXX11_RAW_LITERALS
145
+ #endif
146
+
147
+ #if !__has_feature(cxx_reference_qualified_functions)
148
+ # define BOOST_NO_CXX11_REF_QUALIFIERS
149
+ #endif
150
+
151
+ #if !__has_feature(cxx_generalized_initializers)
152
+ # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
153
+ #endif
154
+
155
+ #if !__has_feature(cxx_rvalue_references)
156
+ # define BOOST_NO_CXX11_RVALUE_REFERENCES
157
+ #endif
158
+
159
+ #if !__has_feature(cxx_strong_enums)
160
+ # define BOOST_NO_CXX11_SCOPED_ENUMS
161
+ #endif
162
+
163
+ #if !__has_feature(cxx_static_assert)
164
+ # define BOOST_NO_CXX11_STATIC_ASSERT
165
+ #endif
166
+
167
+ #if !__has_feature(cxx_alias_templates)
168
+ # define BOOST_NO_CXX11_TEMPLATE_ALIASES
169
+ #endif
170
+
171
+ #if !__has_feature(cxx_unicode_literals)
172
+ # define BOOST_NO_CXX11_UNICODE_LITERALS
173
+ #endif
174
+
175
+ #if !__has_feature(cxx_variadic_templates)
176
+ # define BOOST_NO_CXX11_VARIADIC_TEMPLATES
177
+ #endif
178
+
179
+ #if !__has_feature(cxx_user_literals)
180
+ # define BOOST_NO_CXX11_USER_DEFINED_LITERALS
181
+ #endif
182
+
183
+ #if !__has_feature(cxx_alignas)
184
+ # define BOOST_NO_CXX11_ALIGNAS
185
+ #endif
186
+
187
+ #if !__has_feature(cxx_alignof)
188
+ # define BOOST_NO_CXX11_ALIGNOF
189
+ #endif
190
+
191
+ #if !__has_feature(cxx_trailing_return)
192
+ # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
193
+ #endif
194
+
195
+ #if !__has_feature(cxx_inline_namespaces)
196
+ # define BOOST_NO_CXX11_INLINE_NAMESPACES
197
+ #endif
198
+
199
+ #if !__has_feature(cxx_override_control)
200
+ # define BOOST_NO_CXX11_FINAL
201
+ # define BOOST_NO_CXX11_OVERRIDE
202
+ #endif
203
+
204
+ #if !__has_feature(cxx_unrestricted_unions)
205
+ # define BOOST_NO_CXX11_UNRESTRICTED_UNION
206
+ #endif
207
+
208
+ #if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
209
+ # define BOOST_NO_CXX14_BINARY_LITERALS
210
+ #endif
211
+
212
+ #if !__has_feature(__cxx_decltype_auto__)
213
+ # define BOOST_NO_CXX14_DECLTYPE_AUTO
214
+ #endif
215
+
216
+ #if !__has_feature(__cxx_aggregate_nsdmi__)
217
+ # define BOOST_NO_CXX14_AGGREGATE_NSDMI
218
+ #endif
219
+
220
+ #if !__has_feature(__cxx_init_captures__)
221
+ # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
222
+ #endif
223
+
224
+ #if !__has_feature(__cxx_generic_lambdas__)
225
+ # define BOOST_NO_CXX14_GENERIC_LAMBDAS
226
+ #endif
227
+
228
+ // clang < 3.5 has a defect with dependent type, like following.
229
+ //
230
+ // template <class T>
231
+ // constexpr typename enable_if<pred<T> >::type foo(T &)
232
+ // { } // error: no return statement in constexpr function
233
+ //
234
+ // This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
235
+ // Therefore we don't care such case.
236
+ //
237
+ // Note that we can't check Clang version directly as the numbering system changes depending who's
238
+ // creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
239
+ // so instead verify that we have a feature that was introduced at the same time as working C++14
240
+ // constexpr (generic lambda's in this case):
241
+ //
242
+ #if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
243
+ # define BOOST_NO_CXX14_CONSTEXPR
244
+ #endif
245
+
246
+ #if !__has_feature(__cxx_return_type_deduction__)
247
+ # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
248
+ #endif
249
+
250
+ #if !__has_feature(__cxx_variable_templates__)
251
+ # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
252
+ #endif
253
+
254
+ #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
255
+ # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
256
+ #endif
257
+
258
+ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
259
+ # define BOOST_NO_CXX17_IF_CONSTEXPR
260
+ #endif
261
+
262
+ // Clang 3.9+ in c++1z
263
+ #if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
264
+ # define BOOST_NO_CXX17_INLINE_VARIABLES
265
+ # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
266
+ #endif
267
+
268
+ #if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
269
+ # define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
270
+ #endif
271
+
272
+ #if !__has_feature(cxx_thread_local)
273
+ # define BOOST_NO_CXX11_THREAD_LOCAL
274
+ #endif
275
+
276
+ #if __cplusplus < 201400
277
+ // All versions with __cplusplus above this value seem to support this:
278
+ # define BOOST_NO_CXX14_DIGIT_SEPARATORS
279
+ #endif
280
+
281
+ // Deprecated symbol markup
282
+ #if __has_attribute(deprecated)
283
+ #define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
284
+ #endif
285
+
286
+ // Unused attribute:
287
+ #if defined(__GNUC__) && (__GNUC__ >= 4)
288
+ # define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
289
+ #endif
290
+
291
+ // Type aliasing hint.
292
+ #if __has_attribute(__may_alias__)
293
+ # define BOOST_MAY_ALIAS __attribute__((__may_alias__))
294
+ #endif
295
+
296
+ #ifndef BOOST_COMPILER
297
+ # define BOOST_COMPILER "Clang version " __clang_version__
298
+ #endif
299
+
300
+ // Macro used to identify the Clang compiler.
301
+ #define BOOST_CLANG 1
302
+
303
+ #define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)