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,357 @@
1
+ // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
2
+ // Distributed under the MIT License (http://opensource.org/licenses/MIT)
3
+
4
+ // spdlog main header file.
5
+ // see example.cpp for usage example
6
+
7
+ #ifndef SPDLOG_H
8
+ #define SPDLOG_H
9
+
10
+ #pragma once
11
+
12
+ #include <spdlog/common.h>
13
+ #include <spdlog/details/registry.h>
14
+ #include <spdlog/details/synchronous_factory.h>
15
+ #include <spdlog/logger.h>
16
+ #include <spdlog/version.h>
17
+
18
+ #include <chrono>
19
+ #include <functional>
20
+ #include <memory>
21
+ #include <string>
22
+
23
+ namespace spdlog {
24
+
25
+ using default_factory = synchronous_factory;
26
+
27
+ // Create and register a logger with a templated sink type
28
+ // The logger's level, formatter and flush level will be set according to the
29
+ // global settings.
30
+ //
31
+ // Example:
32
+ // spdlog::create<daily_file_sink_st>("logger_name", "dailylog_filename", 11, 59);
33
+ template <typename Sink, typename... SinkArgs>
34
+ inline std::shared_ptr<spdlog::logger> create(std::string logger_name, SinkArgs &&...sink_args) {
35
+ return default_factory::create<Sink>(std::move(logger_name),
36
+ std::forward<SinkArgs>(sink_args)...);
37
+ }
38
+
39
+ // Initialize and register a logger,
40
+ // formatter and flush level will be set according the global settings.
41
+ //
42
+ // Useful for initializing manually created loggers with the global settings.
43
+ //
44
+ // Example:
45
+ // auto mylogger = std::make_shared<spdlog::logger>("mylogger", ...);
46
+ // spdlog::initialize_logger(mylogger);
47
+ SPDLOG_API void initialize_logger(std::shared_ptr<logger> logger);
48
+
49
+ // Return an existing logger or nullptr if a logger with such a name doesn't
50
+ // exist.
51
+ // example: spdlog::get("my_logger")->info("hello {}", "world");
52
+ SPDLOG_API std::shared_ptr<logger> get(const std::string &name);
53
+
54
+ // Set global formatter. Each sink in each logger will get a clone of this object
55
+ SPDLOG_API void set_formatter(std::unique_ptr<spdlog::formatter> formatter);
56
+
57
+ // Set global format string.
58
+ // example: spdlog::set_pattern("%Y-%m-%d %H:%M:%S.%e %l : %v");
59
+ SPDLOG_API void set_pattern(std::string pattern,
60
+ pattern_time_type time_type = pattern_time_type::local);
61
+
62
+ // enable global backtrace support
63
+ SPDLOG_API void enable_backtrace(size_t n_messages);
64
+
65
+ // disable global backtrace support
66
+ SPDLOG_API void disable_backtrace();
67
+
68
+ // call dump backtrace on default logger
69
+ SPDLOG_API void dump_backtrace();
70
+
71
+ // Get global logging level
72
+ SPDLOG_API level::level_enum get_level();
73
+
74
+ // Set the global logging level
75
+ SPDLOG_API void set_level(level::level_enum log_level);
76
+
77
+ // Determine whether the default logger should log messages with a certain level
78
+ SPDLOG_API bool should_log(level::level_enum lvl);
79
+
80
+ // Set a global flush level
81
+ SPDLOG_API void flush_on(level::level_enum log_level);
82
+
83
+ // Start/Restart a periodic flusher thread
84
+ // Warning: Use only if all your loggers are thread safe!
85
+ template <typename Rep, typename Period>
86
+ inline void flush_every(std::chrono::duration<Rep, Period> interval) {
87
+ details::registry::instance().flush_every(interval);
88
+ }
89
+
90
+ // Set global error handler
91
+ SPDLOG_API void set_error_handler(void (*handler)(const std::string &msg));
92
+
93
+ // Register the given logger with the given name
94
+ // Will throw if a logger with the same name already exists.
95
+ SPDLOG_API void register_logger(std::shared_ptr<logger> logger);
96
+
97
+ // Register the given logger with the given name
98
+ // Will replace any existing logger with the same name.
99
+ SPDLOG_API void register_or_replace(std::shared_ptr<logger> logger);
100
+
101
+ // Apply a user-defined function on all registered loggers
102
+ // Example:
103
+ // spdlog::apply_all([&](std::shared_ptr<spdlog::logger> l) {l->flush();});
104
+ SPDLOG_API void apply_all(const std::function<void(std::shared_ptr<logger>)> &fun);
105
+
106
+ // Drop the reference to the given logger
107
+ SPDLOG_API void drop(const std::string &name);
108
+
109
+ // Drop all references from the registry
110
+ SPDLOG_API void drop_all();
111
+
112
+ // stop any running threads started by spdlog and clean registry loggers
113
+ SPDLOG_API void shutdown();
114
+
115
+ // Automatic registration of loggers when using spdlog::create() or spdlog::create_async
116
+ SPDLOG_API void set_automatic_registration(bool automatic_registration);
117
+
118
+ // API for using default logger (stdout_color_mt),
119
+ // e.g.: spdlog::info("Message {}", 1);
120
+ //
121
+ // The default logger object can be accessed using the spdlog::default_logger():
122
+ // For example, to add another sink to it:
123
+ // spdlog::default_logger()->sinks().push_back(some_sink);
124
+ //
125
+ // The default logger can be replaced using spdlog::set_default_logger(new_logger).
126
+ // For example, to replace it with a file logger.
127
+ //
128
+ // IMPORTANT:
129
+ // The default API is thread safe (for _mt loggers), but:
130
+ // set_default_logger() *should not* be used concurrently with the default API.
131
+ // e.g., do not call set_default_logger() from one thread while calling spdlog::info() from another.
132
+
133
+ SPDLOG_API std::shared_ptr<spdlog::logger> default_logger();
134
+
135
+ SPDLOG_API spdlog::logger *default_logger_raw();
136
+
137
+ SPDLOG_API void set_default_logger(std::shared_ptr<spdlog::logger> default_logger);
138
+
139
+ // Initialize logger level based on environment configs.
140
+ //
141
+ // Useful for applying SPDLOG_LEVEL to manually created loggers.
142
+ //
143
+ // Example:
144
+ // auto mylogger = std::make_shared<spdlog::logger>("mylogger", ...);
145
+ // spdlog::apply_logger_env_levels(mylogger);
146
+ SPDLOG_API void apply_logger_env_levels(std::shared_ptr<logger> logger);
147
+
148
+ template <typename... Args>
149
+ inline void log(source_loc source,
150
+ level::level_enum lvl,
151
+ format_string_t<Args...> fmt,
152
+ Args &&...args) {
153
+ default_logger_raw()->log(source, lvl, fmt, std::forward<Args>(args)...);
154
+ }
155
+
156
+ template <typename... Args>
157
+ inline void log(level::level_enum lvl, format_string_t<Args...> fmt, Args &&...args) {
158
+ default_logger_raw()->log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
159
+ }
160
+
161
+ template <typename... Args>
162
+ inline void trace(format_string_t<Args...> fmt, Args &&...args) {
163
+ default_logger_raw()->trace(fmt, std::forward<Args>(args)...);
164
+ }
165
+
166
+ template <typename... Args>
167
+ inline void debug(format_string_t<Args...> fmt, Args &&...args) {
168
+ default_logger_raw()->debug(fmt, std::forward<Args>(args)...);
169
+ }
170
+
171
+ template <typename... Args>
172
+ inline void info(format_string_t<Args...> fmt, Args &&...args) {
173
+ default_logger_raw()->info(fmt, std::forward<Args>(args)...);
174
+ }
175
+
176
+ template <typename... Args>
177
+ inline void warn(format_string_t<Args...> fmt, Args &&...args) {
178
+ default_logger_raw()->warn(fmt, std::forward<Args>(args)...);
179
+ }
180
+
181
+ template <typename... Args>
182
+ inline void error(format_string_t<Args...> fmt, Args &&...args) {
183
+ default_logger_raw()->error(fmt, std::forward<Args>(args)...);
184
+ }
185
+
186
+ template <typename... Args>
187
+ inline void critical(format_string_t<Args...> fmt, Args &&...args) {
188
+ default_logger_raw()->critical(fmt, std::forward<Args>(args)...);
189
+ }
190
+
191
+ template <typename T>
192
+ inline void log(source_loc source, level::level_enum lvl, const T &msg) {
193
+ default_logger_raw()->log(source, lvl, msg);
194
+ }
195
+
196
+ template <typename T>
197
+ inline void log(level::level_enum lvl, const T &msg) {
198
+ default_logger_raw()->log(lvl, msg);
199
+ }
200
+
201
+ #ifdef SPDLOG_WCHAR_TO_UTF8_SUPPORT
202
+ template <typename... Args>
203
+ inline void log(source_loc source,
204
+ level::level_enum lvl,
205
+ wformat_string_t<Args...> fmt,
206
+ Args &&...args) {
207
+ default_logger_raw()->log(source, lvl, fmt, std::forward<Args>(args)...);
208
+ }
209
+
210
+ template <typename... Args>
211
+ inline void log(level::level_enum lvl, wformat_string_t<Args...> fmt, Args &&...args) {
212
+ default_logger_raw()->log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
213
+ }
214
+
215
+ template <typename... Args>
216
+ inline void trace(wformat_string_t<Args...> fmt, Args &&...args) {
217
+ default_logger_raw()->trace(fmt, std::forward<Args>(args)...);
218
+ }
219
+
220
+ template <typename... Args>
221
+ inline void debug(wformat_string_t<Args...> fmt, Args &&...args) {
222
+ default_logger_raw()->debug(fmt, std::forward<Args>(args)...);
223
+ }
224
+
225
+ template <typename... Args>
226
+ inline void info(wformat_string_t<Args...> fmt, Args &&...args) {
227
+ default_logger_raw()->info(fmt, std::forward<Args>(args)...);
228
+ }
229
+
230
+ template <typename... Args>
231
+ inline void warn(wformat_string_t<Args...> fmt, Args &&...args) {
232
+ default_logger_raw()->warn(fmt, std::forward<Args>(args)...);
233
+ }
234
+
235
+ template <typename... Args>
236
+ inline void error(wformat_string_t<Args...> fmt, Args &&...args) {
237
+ default_logger_raw()->error(fmt, std::forward<Args>(args)...);
238
+ }
239
+
240
+ template <typename... Args>
241
+ inline void critical(wformat_string_t<Args...> fmt, Args &&...args) {
242
+ default_logger_raw()->critical(fmt, std::forward<Args>(args)...);
243
+ }
244
+ #endif
245
+
246
+ template <typename T>
247
+ inline void trace(const T &msg) {
248
+ default_logger_raw()->trace(msg);
249
+ }
250
+
251
+ template <typename T>
252
+ inline void debug(const T &msg) {
253
+ default_logger_raw()->debug(msg);
254
+ }
255
+
256
+ template <typename T>
257
+ inline void info(const T &msg) {
258
+ default_logger_raw()->info(msg);
259
+ }
260
+
261
+ template <typename T>
262
+ inline void warn(const T &msg) {
263
+ default_logger_raw()->warn(msg);
264
+ }
265
+
266
+ template <typename T>
267
+ inline void error(const T &msg) {
268
+ default_logger_raw()->error(msg);
269
+ }
270
+
271
+ template <typename T>
272
+ inline void critical(const T &msg) {
273
+ default_logger_raw()->critical(msg);
274
+ }
275
+
276
+ } // namespace spdlog
277
+
278
+ //
279
+ // enable/disable log calls at compile time according to global level.
280
+ //
281
+ // define SPDLOG_ACTIVE_LEVEL to one of those (before including spdlog.h):
282
+ // SPDLOG_LEVEL_TRACE,
283
+ // SPDLOG_LEVEL_DEBUG,
284
+ // SPDLOG_LEVEL_INFO,
285
+ // SPDLOG_LEVEL_WARN,
286
+ // SPDLOG_LEVEL_ERROR,
287
+ // SPDLOG_LEVEL_CRITICAL,
288
+ // SPDLOG_LEVEL_OFF
289
+ //
290
+
291
+ #ifndef SPDLOG_NO_SOURCE_LOC
292
+ #define SPDLOG_LOGGER_CALL(logger, level, ...) \
293
+ (logger)->log(spdlog::source_loc{__FILE__, __LINE__, SPDLOG_FUNCTION}, level, __VA_ARGS__)
294
+ #else
295
+ #define SPDLOG_LOGGER_CALL(logger, level, ...) \
296
+ (logger)->log(spdlog::source_loc{}, level, __VA_ARGS__)
297
+ #endif
298
+
299
+ #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_TRACE
300
+ #define SPDLOG_LOGGER_TRACE(logger, ...) \
301
+ SPDLOG_LOGGER_CALL(logger, spdlog::level::trace, __VA_ARGS__)
302
+ #define SPDLOG_TRACE(...) SPDLOG_LOGGER_TRACE(spdlog::default_logger_raw(), __VA_ARGS__)
303
+ #else
304
+ #define SPDLOG_LOGGER_TRACE(logger, ...) (void)0
305
+ #define SPDLOG_TRACE(...) (void)0
306
+ #endif
307
+
308
+ #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_DEBUG
309
+ #define SPDLOG_LOGGER_DEBUG(logger, ...) \
310
+ SPDLOG_LOGGER_CALL(logger, spdlog::level::debug, __VA_ARGS__)
311
+ #define SPDLOG_DEBUG(...) SPDLOG_LOGGER_DEBUG(spdlog::default_logger_raw(), __VA_ARGS__)
312
+ #else
313
+ #define SPDLOG_LOGGER_DEBUG(logger, ...) (void)0
314
+ #define SPDLOG_DEBUG(...) (void)0
315
+ #endif
316
+
317
+ #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_INFO
318
+ #define SPDLOG_LOGGER_INFO(logger, ...) \
319
+ SPDLOG_LOGGER_CALL(logger, spdlog::level::info, __VA_ARGS__)
320
+ #define SPDLOG_INFO(...) SPDLOG_LOGGER_INFO(spdlog::default_logger_raw(), __VA_ARGS__)
321
+ #else
322
+ #define SPDLOG_LOGGER_INFO(logger, ...) (void)0
323
+ #define SPDLOG_INFO(...) (void)0
324
+ #endif
325
+
326
+ #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_WARN
327
+ #define SPDLOG_LOGGER_WARN(logger, ...) \
328
+ SPDLOG_LOGGER_CALL(logger, spdlog::level::warn, __VA_ARGS__)
329
+ #define SPDLOG_WARN(...) SPDLOG_LOGGER_WARN(spdlog::default_logger_raw(), __VA_ARGS__)
330
+ #else
331
+ #define SPDLOG_LOGGER_WARN(logger, ...) (void)0
332
+ #define SPDLOG_WARN(...) (void)0
333
+ #endif
334
+
335
+ #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_ERROR
336
+ #define SPDLOG_LOGGER_ERROR(logger, ...) \
337
+ SPDLOG_LOGGER_CALL(logger, spdlog::level::err, __VA_ARGS__)
338
+ #define SPDLOG_ERROR(...) SPDLOG_LOGGER_ERROR(spdlog::default_logger_raw(), __VA_ARGS__)
339
+ #else
340
+ #define SPDLOG_LOGGER_ERROR(logger, ...) (void)0
341
+ #define SPDLOG_ERROR(...) (void)0
342
+ #endif
343
+
344
+ #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_CRITICAL
345
+ #define SPDLOG_LOGGER_CRITICAL(logger, ...) \
346
+ SPDLOG_LOGGER_CALL(logger, spdlog::level::critical, __VA_ARGS__)
347
+ #define SPDLOG_CRITICAL(...) SPDLOG_LOGGER_CRITICAL(spdlog::default_logger_raw(), __VA_ARGS__)
348
+ #else
349
+ #define SPDLOG_LOGGER_CRITICAL(logger, ...) (void)0
350
+ #define SPDLOG_CRITICAL(...) (void)0
351
+ #endif
352
+
353
+ #ifdef SPDLOG_HEADER_ONLY
354
+ #include "spdlog-inl.h"
355
+ #endif
356
+
357
+ #endif // SPDLOG_H
@@ -0,0 +1,66 @@
1
+ // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
2
+ // Distributed under the MIT License (http://opensource.org/licenses/MIT)
3
+
4
+ #pragma once
5
+
6
+ #include <chrono>
7
+ #include <spdlog/fmt/fmt.h>
8
+
9
+ // Stopwatch support for spdlog (using std::chrono::steady_clock).
10
+ // Displays elapsed seconds since construction as double.
11
+ //
12
+ // Usage:
13
+ //
14
+ // spdlog::stopwatch sw;
15
+ // ...
16
+ // spdlog::debug("Elapsed: {} seconds", sw); => "Elapsed 0.005116733 seconds"
17
+ // spdlog::info("Elapsed: {:.6} seconds", sw); => "Elapsed 0.005163 seconds"
18
+ //
19
+ //
20
+ // If other units are needed (e.g. millis instead of double), include "fmt/chrono.h" and use
21
+ // "duration_cast<..>(sw.elapsed())":
22
+ //
23
+ // #include <spdlog/fmt/chrono.h>
24
+ //..
25
+ // using std::chrono::duration_cast;
26
+ // using std::chrono::milliseconds;
27
+ // spdlog::info("Elapsed {}", duration_cast<milliseconds>(sw.elapsed())); => "Elapsed 5ms"
28
+
29
+ namespace spdlog {
30
+ class stopwatch {
31
+ using clock = std::chrono::steady_clock;
32
+ std::chrono::time_point<clock> start_tp_;
33
+
34
+ public:
35
+ stopwatch()
36
+ : start_tp_{clock::now()} {}
37
+
38
+ std::chrono::duration<double> elapsed() const {
39
+ return std::chrono::duration<double>(clock::now() - start_tp_);
40
+ }
41
+
42
+ std::chrono::milliseconds elapsed_ms() const {
43
+ return std::chrono::duration_cast<std::chrono::milliseconds>(clock::now() - start_tp_);
44
+ }
45
+
46
+ void reset() { start_tp_ = clock::now(); }
47
+ };
48
+ } // namespace spdlog
49
+
50
+ // Support for fmt formatting (e.g. "{:012.9}" or just "{}")
51
+ namespace
52
+ #ifdef SPDLOG_USE_STD_FORMAT
53
+ std
54
+ #else
55
+ fmt
56
+ #endif
57
+ {
58
+
59
+ template <>
60
+ struct formatter<spdlog::stopwatch> : formatter<double> {
61
+ template <typename FormatContext>
62
+ auto format(const spdlog::stopwatch &sw, FormatContext &ctx) const -> decltype(ctx.out()) {
63
+ return formatter<double>::format(sw.elapsed().count(), ctx);
64
+ }
65
+ };
66
+ } // namespace std
@@ -0,0 +1,148 @@
1
+ // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
2
+ // Distributed under the MIT License (http://opensource.org/licenses/MIT)
3
+
4
+ #pragma once
5
+
6
+ ///////////////////////////////////////////////////////////////////////////////
7
+ //
8
+ // Edit this file to squeeze more performance, and to customize supported
9
+ // features
10
+ //
11
+ ///////////////////////////////////////////////////////////////////////////////
12
+
13
+ ///////////////////////////////////////////////////////////////////////////////
14
+ // Under Linux, the much faster CLOCK_REALTIME_COARSE clock can be used.
15
+ // This clock is less accurate - can be off by dozens of millis - depending on
16
+ // the kernel HZ.
17
+ // Uncomment to use it instead of the regular clock.
18
+ //
19
+ // #define SPDLOG_CLOCK_COARSE
20
+ ///////////////////////////////////////////////////////////////////////////////
21
+
22
+ ///////////////////////////////////////////////////////////////////////////////
23
+ // Uncomment if source location logging is not needed.
24
+ // This will prevent spdlog from using __FILE__, __LINE__ and SPDLOG_FUNCTION
25
+ //
26
+ // #define SPDLOG_NO_SOURCE_LOC
27
+ ///////////////////////////////////////////////////////////////////////////////
28
+
29
+ ///////////////////////////////////////////////////////////////////////////////
30
+ // Uncomment if thread id logging is not needed (i.e. no %t in the log pattern).
31
+ // This will prevent spdlog from querying the thread id on each log call.
32
+ //
33
+ // WARNING: If the log pattern contains thread id (i.e, %t) while this flag is
34
+ // on, zero will be logged as thread id.
35
+ //
36
+ // #define SPDLOG_NO_THREAD_ID
37
+ ///////////////////////////////////////////////////////////////////////////////
38
+
39
+ ///////////////////////////////////////////////////////////////////////////////
40
+ // Uncomment to prevent spdlog from using thread local storage.
41
+ //
42
+ // WARNING: if your program forks, UNCOMMENT this flag to prevent undefined
43
+ // thread ids in the children logs.
44
+ //
45
+ // #define SPDLOG_NO_TLS
46
+ ///////////////////////////////////////////////////////////////////////////////
47
+
48
+ ///////////////////////////////////////////////////////////////////////////////
49
+ // Uncomment to avoid spdlog's usage of atomic log levels
50
+ // Use only if your code never modifies a logger's log levels concurrently by
51
+ // different threads.
52
+ //
53
+ // #define SPDLOG_NO_ATOMIC_LEVELS
54
+ ///////////////////////////////////////////////////////////////////////////////
55
+
56
+ ///////////////////////////////////////////////////////////////////////////////
57
+ // Uncomment to enable usage of wchar_t for file names on Windows.
58
+ //
59
+ // #define SPDLOG_WCHAR_FILENAMES
60
+ ///////////////////////////////////////////////////////////////////////////////
61
+
62
+ ///////////////////////////////////////////////////////////////////////////////
63
+ // Uncomment to override default eol ("\n" or "\r\n" under Linux/Windows)
64
+ //
65
+ // #define SPDLOG_EOL ";-)\n"
66
+ ///////////////////////////////////////////////////////////////////////////////
67
+
68
+ ///////////////////////////////////////////////////////////////////////////////
69
+ // Uncomment to override default folder separators ("/" or "\\/" under
70
+ // Linux/Windows). Each character in the string is treated as a different
71
+ // separator.
72
+ //
73
+ // #define SPDLOG_FOLDER_SEPS "\\"
74
+ ///////////////////////////////////////////////////////////////////////////////
75
+
76
+ ///////////////////////////////////////////////////////////////////////////////
77
+ // Uncomment to use your own copy of the fmt library instead of spdlog's copy.
78
+ // In this case spdlog will try to include <fmt/format.h> so set your -I flag
79
+ // accordingly.
80
+ //
81
+ // #define SPDLOG_FMT_EXTERNAL
82
+ ///////////////////////////////////////////////////////////////////////////////
83
+
84
+ ///////////////////////////////////////////////////////////////////////////////
85
+ // Uncomment to use C++20 std::format instead of fmt.
86
+ //
87
+ // #define SPDLOG_USE_STD_FORMAT
88
+ ///////////////////////////////////////////////////////////////////////////////
89
+
90
+ ///////////////////////////////////////////////////////////////////////////////
91
+ // Uncomment to enable wchar_t support (convert to utf8)
92
+ //
93
+ // #define SPDLOG_WCHAR_TO_UTF8_SUPPORT
94
+ ///////////////////////////////////////////////////////////////////////////////
95
+
96
+ ///////////////////////////////////////////////////////////////////////////////
97
+ // Uncomment to prevent child processes from inheriting log file descriptors
98
+ //
99
+ // #define SPDLOG_PREVENT_CHILD_FD
100
+ ///////////////////////////////////////////////////////////////////////////////
101
+
102
+ ///////////////////////////////////////////////////////////////////////////////
103
+ // Uncomment to customize level names (e.g. "MY TRACE")
104
+ //
105
+ // #define SPDLOG_LEVEL_NAMES { "MY TRACE", "MY DEBUG", "MY INFO", "MY WARNING", "MY ERROR", "MY
106
+ // CRITICAL", "OFF" }
107
+ //
108
+ // For C++17 use string_view_literals:
109
+ //
110
+ // #include <string_view>
111
+ // using namespace std::string_view_literals;
112
+ // #define SPDLOG_LEVEL_NAMES { "MY TRACE"sv, "MY DEBUG"sv, "MY INFO"sv, "MY WARNING"sv, "MY
113
+ // ERROR"sv, "MY CRITICAL"sv, "OFF"sv }
114
+ ///////////////////////////////////////////////////////////////////////////////
115
+
116
+ ///////////////////////////////////////////////////////////////////////////////
117
+ // Uncomment to customize short level names (e.g. "MT")
118
+ // These can be longer than one character.
119
+ //
120
+ // #define SPDLOG_SHORT_LEVEL_NAMES { "T", "D", "I", "W", "E", "C", "O" }
121
+ ///////////////////////////////////////////////////////////////////////////////
122
+
123
+ ///////////////////////////////////////////////////////////////////////////////
124
+ // Uncomment to disable default logger creation.
125
+ // This might save some (very) small initialization time if no default logger is needed.
126
+ //
127
+ // #define SPDLOG_DISABLE_DEFAULT_LOGGER
128
+ ///////////////////////////////////////////////////////////////////////////////
129
+
130
+ ///////////////////////////////////////////////////////////////////////////////
131
+ // Uncomment and set to compile time level with zero cost (default is INFO).
132
+ // Macros like SPDLOG_DEBUG(..), SPDLOG_INFO(..) will expand to empty statements if not enabled
133
+ //
134
+ // #define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_INFO
135
+ ///////////////////////////////////////////////////////////////////////////////
136
+
137
+ ///////////////////////////////////////////////////////////////////////////////
138
+ // Uncomment (and change if desired) macro to use for function names.
139
+ // This is compiler dependent.
140
+ // __PRETTY_FUNCTION__ might be nicer in clang/gcc, and __FUNCTION__ in msvc.
141
+ // Defaults to __FUNCTION__ (should work on all compilers) if not defined.
142
+ //
143
+ // #ifdef __PRETTY_FUNCTION__
144
+ // # define SPDLOG_FUNCTION __PRETTY_FUNCTION__
145
+ // #else
146
+ // # define SPDLOG_FUNCTION __FUNCTION__
147
+ // #endif
148
+ ///////////////////////////////////////////////////////////////////////////////
@@ -0,0 +1,11 @@
1
+ // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
2
+ // Distributed under the MIT License (http://opensource.org/licenses/MIT)
3
+
4
+ #pragma once
5
+
6
+ #define SPDLOG_VER_MAJOR 1
7
+ #define SPDLOG_VER_MINOR 15
8
+ #define SPDLOG_VER_PATCH 3
9
+
10
+ #define SPDLOG_TO_VERSION(major, minor, patch) (major * 10000 + minor * 100 + patch)
11
+ #define SPDLOG_VERSION SPDLOG_TO_VERSION(SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH)