Cython 3.2.0__cp39-abi3-win32.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 (333) hide show
  1. Cython/Build/BuildExecutable.py +169 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +350 -0
  4. Cython/Build/Dependencies.py +1314 -0
  5. Cython/Build/Distutils.py +1 -0
  6. Cython/Build/Inline.py +463 -0
  7. Cython/Build/IpythonMagic.py +560 -0
  8. Cython/Build/SharedModule.py +94 -0
  9. Cython/Build/Tests/TestCyCache.py +194 -0
  10. Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
  11. Cython/Build/Tests/TestDependencies.py +133 -0
  12. Cython/Build/Tests/TestInline.py +177 -0
  13. Cython/Build/Tests/TestIpythonMagic.py +287 -0
  14. Cython/Build/Tests/TestRecythonize.py +212 -0
  15. Cython/Build/Tests/TestStripLiterals.py +155 -0
  16. Cython/Build/Tests/__init__.py +1 -0
  17. Cython/Build/__init__.py +11 -0
  18. Cython/CodeWriter.py +815 -0
  19. Cython/Compiler/AnalysedTreeTransforms.py +97 -0
  20. Cython/Compiler/Annotate.py +328 -0
  21. Cython/Compiler/AutoDocTransforms.py +320 -0
  22. Cython/Compiler/Buffer.py +680 -0
  23. Cython/Compiler/Builtin.py +984 -0
  24. Cython/Compiler/CmdLine.py +263 -0
  25. Cython/Compiler/Code.pxd +149 -0
  26. Cython/Compiler/Code.py +3746 -0
  27. Cython/Compiler/Code.pyd +0 -0
  28. Cython/Compiler/CodeGeneration.py +33 -0
  29. Cython/Compiler/CythonScope.py +191 -0
  30. Cython/Compiler/Dataclass.py +864 -0
  31. Cython/Compiler/DebugFlags.py +24 -0
  32. Cython/Compiler/Errors.py +297 -0
  33. Cython/Compiler/ExprNodes.py +15562 -0
  34. Cython/Compiler/FlowControl.pxd +97 -0
  35. Cython/Compiler/FlowControl.py +1451 -0
  36. Cython/Compiler/FlowControl.pyd +0 -0
  37. Cython/Compiler/FusedNode.py +971 -0
  38. Cython/Compiler/FusedNode.pyd +0 -0
  39. Cython/Compiler/Future.py +16 -0
  40. Cython/Compiler/Interpreter.py +57 -0
  41. Cython/Compiler/Lexicon.py +421 -0
  42. Cython/Compiler/LineTable.py +114 -0
  43. Cython/Compiler/LineTable.pyd +0 -0
  44. Cython/Compiler/Main.py +857 -0
  45. Cython/Compiler/MatchCaseNodes.py +259 -0
  46. Cython/Compiler/MemoryView.py +905 -0
  47. Cython/Compiler/ModuleNode.py +4235 -0
  48. Cython/Compiler/Naming.py +363 -0
  49. Cython/Compiler/Nodes.py +10831 -0
  50. Cython/Compiler/Optimize.py +5288 -0
  51. Cython/Compiler/Options.py +843 -0
  52. Cython/Compiler/ParseTreeTransforms.pxd +78 -0
  53. Cython/Compiler/ParseTreeTransforms.py +4638 -0
  54. Cython/Compiler/Parsing.pxd +9 -0
  55. Cython/Compiler/Parsing.py +4775 -0
  56. Cython/Compiler/Parsing.pyd +0 -0
  57. Cython/Compiler/Pipeline.py +439 -0
  58. Cython/Compiler/PyrexTypes.py +5870 -0
  59. Cython/Compiler/Pythran.py +232 -0
  60. Cython/Compiler/Scanning.pxd +48 -0
  61. Cython/Compiler/Scanning.py +701 -0
  62. Cython/Compiler/Scanning.pyd +0 -0
  63. Cython/Compiler/StringEncoding.py +298 -0
  64. Cython/Compiler/Symtab.py +3073 -0
  65. Cython/Compiler/Tests/TestBuffer.py +105 -0
  66. Cython/Compiler/Tests/TestBuiltin.py +72 -0
  67. Cython/Compiler/Tests/TestCmdLine.py +586 -0
  68. Cython/Compiler/Tests/TestCode.py +144 -0
  69. Cython/Compiler/Tests/TestFlowControl.py +65 -0
  70. Cython/Compiler/Tests/TestGrammar.py +202 -0
  71. Cython/Compiler/Tests/TestMemView.py +71 -0
  72. Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
  73. Cython/Compiler/Tests/TestScanning.py +134 -0
  74. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  75. Cython/Compiler/Tests/TestStringEncoding.py +21 -0
  76. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  77. Cython/Compiler/Tests/TestTreePath.py +103 -0
  78. Cython/Compiler/Tests/TestTypes.py +75 -0
  79. Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
  80. Cython/Compiler/Tests/TestVisitor.py +61 -0
  81. Cython/Compiler/Tests/Utils.py +36 -0
  82. Cython/Compiler/Tests/__init__.py +1 -0
  83. Cython/Compiler/TreeFragment.py +278 -0
  84. Cython/Compiler/TreePath.py +303 -0
  85. Cython/Compiler/TypeInference.py +591 -0
  86. Cython/Compiler/TypeSlots.py +1174 -0
  87. Cython/Compiler/UFuncs.py +311 -0
  88. Cython/Compiler/UtilNodes.py +389 -0
  89. Cython/Compiler/UtilityCode.py +344 -0
  90. Cython/Compiler/Version.py +8 -0
  91. Cython/Compiler/Visitor.pxd +53 -0
  92. Cython/Compiler/Visitor.py +861 -0
  93. Cython/Compiler/Visitor.pyd +0 -0
  94. Cython/Compiler/__init__.py +1 -0
  95. Cython/Coverage.py +448 -0
  96. Cython/Debugger/Cygdb.py +177 -0
  97. Cython/Debugger/DebugWriter.py +82 -0
  98. Cython/Debugger/Tests/TestLibCython.py +275 -0
  99. Cython/Debugger/Tests/__init__.py +1 -0
  100. Cython/Debugger/Tests/cfuncs.c +8 -0
  101. Cython/Debugger/Tests/codefile +49 -0
  102. Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
  103. Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
  104. Cython/Debugger/__init__.py +1 -0
  105. Cython/Debugger/libcython.py +1548 -0
  106. Cython/Debugger/libpython.py +2821 -0
  107. Cython/Debugging.py +20 -0
  108. Cython/Distutils/__init__.py +2 -0
  109. Cython/Distutils/build_ext.py +139 -0
  110. Cython/Distutils/extension.py +96 -0
  111. Cython/Distutils/old_build_ext.py +351 -0
  112. Cython/Includes/cpython/__init__.pxd +173 -0
  113. Cython/Includes/cpython/array.pxd +178 -0
  114. Cython/Includes/cpython/bool.pxd +37 -0
  115. Cython/Includes/cpython/buffer.pxd +112 -0
  116. Cython/Includes/cpython/bytearray.pxd +33 -0
  117. Cython/Includes/cpython/bytes.pxd +200 -0
  118. Cython/Includes/cpython/cellobject.pxd +35 -0
  119. Cython/Includes/cpython/ceval.pxd +8 -0
  120. Cython/Includes/cpython/codecs.pxd +121 -0
  121. Cython/Includes/cpython/complex.pxd +60 -0
  122. Cython/Includes/cpython/contextvars.pxd +145 -0
  123. Cython/Includes/cpython/conversion.pxd +36 -0
  124. Cython/Includes/cpython/datetime.pxd +395 -0
  125. Cython/Includes/cpython/descr.pxd +26 -0
  126. Cython/Includes/cpython/dict.pxd +187 -0
  127. Cython/Includes/cpython/exc.pxd +263 -0
  128. Cython/Includes/cpython/fileobject.pxd +57 -0
  129. Cython/Includes/cpython/float.pxd +47 -0
  130. Cython/Includes/cpython/function.pxd +65 -0
  131. Cython/Includes/cpython/genobject.pxd +25 -0
  132. Cython/Includes/cpython/getargs.pxd +12 -0
  133. Cython/Includes/cpython/instance.pxd +25 -0
  134. Cython/Includes/cpython/iterator.pxd +36 -0
  135. Cython/Includes/cpython/iterobject.pxd +24 -0
  136. Cython/Includes/cpython/list.pxd +92 -0
  137. Cython/Includes/cpython/long.pxd +149 -0
  138. Cython/Includes/cpython/longintrepr.pxd +14 -0
  139. Cython/Includes/cpython/mapping.pxd +63 -0
  140. Cython/Includes/cpython/marshal.pxd +66 -0
  141. Cython/Includes/cpython/mem.pxd +120 -0
  142. Cython/Includes/cpython/memoryview.pxd +50 -0
  143. Cython/Includes/cpython/method.pxd +49 -0
  144. Cython/Includes/cpython/module.pxd +208 -0
  145. Cython/Includes/cpython/number.pxd +258 -0
  146. Cython/Includes/cpython/object.pxd +433 -0
  147. Cython/Includes/cpython/pycapsule.pxd +143 -0
  148. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  149. Cython/Includes/cpython/pyport.pxd +8 -0
  150. Cython/Includes/cpython/pystate.pxd +95 -0
  151. Cython/Includes/cpython/pythread.pxd +53 -0
  152. Cython/Includes/cpython/ref.pxd +141 -0
  153. Cython/Includes/cpython/sequence.pxd +134 -0
  154. Cython/Includes/cpython/set.pxd +119 -0
  155. Cython/Includes/cpython/slice.pxd +70 -0
  156. Cython/Includes/cpython/time.pxd +129 -0
  157. Cython/Includes/cpython/tuple.pxd +72 -0
  158. Cython/Includes/cpython/type.pxd +53 -0
  159. Cython/Includes/cpython/unicode.pxd +639 -0
  160. Cython/Includes/cpython/version.pxd +32 -0
  161. Cython/Includes/cpython/weakref.pxd +78 -0
  162. Cython/Includes/libc/__init__.pxd +1 -0
  163. Cython/Includes/libc/complex.pxd +35 -0
  164. Cython/Includes/libc/errno.pxd +127 -0
  165. Cython/Includes/libc/float.pxd +43 -0
  166. Cython/Includes/libc/limits.pxd +28 -0
  167. Cython/Includes/libc/locale.pxd +46 -0
  168. Cython/Includes/libc/math.pxd +209 -0
  169. Cython/Includes/libc/setjmp.pxd +10 -0
  170. Cython/Includes/libc/signal.pxd +64 -0
  171. Cython/Includes/libc/stddef.pxd +9 -0
  172. Cython/Includes/libc/stdint.pxd +105 -0
  173. Cython/Includes/libc/stdio.pxd +80 -0
  174. Cython/Includes/libc/stdlib.pxd +72 -0
  175. Cython/Includes/libc/string.pxd +50 -0
  176. Cython/Includes/libc/threads.pxd +234 -0
  177. Cython/Includes/libc/time.pxd +52 -0
  178. Cython/Includes/libcpp/__init__.pxd +4 -0
  179. Cython/Includes/libcpp/algorithm.pxd +320 -0
  180. Cython/Includes/libcpp/any.pxd +16 -0
  181. Cython/Includes/libcpp/atomic.pxd +59 -0
  182. Cython/Includes/libcpp/barrier.pxd +22 -0
  183. Cython/Includes/libcpp/bit.pxd +29 -0
  184. Cython/Includes/libcpp/cast.pxd +12 -0
  185. Cython/Includes/libcpp/cmath.pxd +518 -0
  186. Cython/Includes/libcpp/complex.pxd +106 -0
  187. Cython/Includes/libcpp/condition_variable.pxd +322 -0
  188. Cython/Includes/libcpp/deque.pxd +165 -0
  189. Cython/Includes/libcpp/exception.pxd +86 -0
  190. Cython/Includes/libcpp/execution.pxd +15 -0
  191. Cython/Includes/libcpp/forward_list.pxd +63 -0
  192. Cython/Includes/libcpp/functional.pxd +26 -0
  193. Cython/Includes/libcpp/future.pxd +103 -0
  194. Cython/Includes/libcpp/iterator.pxd +34 -0
  195. Cython/Includes/libcpp/latch.pxd +17 -0
  196. Cython/Includes/libcpp/limits.pxd +61 -0
  197. Cython/Includes/libcpp/list.pxd +117 -0
  198. Cython/Includes/libcpp/map.pxd +252 -0
  199. Cython/Includes/libcpp/memory.pxd +115 -0
  200. Cython/Includes/libcpp/mutex.pxd +387 -0
  201. Cython/Includes/libcpp/numbers.pxd +15 -0
  202. Cython/Includes/libcpp/numeric.pxd +131 -0
  203. Cython/Includes/libcpp/optional.pxd +34 -0
  204. Cython/Includes/libcpp/pair.pxd +1 -0
  205. Cython/Includes/libcpp/queue.pxd +25 -0
  206. Cython/Includes/libcpp/random.pxd +166 -0
  207. Cython/Includes/libcpp/semaphore.pxd +43 -0
  208. Cython/Includes/libcpp/set.pxd +228 -0
  209. Cython/Includes/libcpp/shared_mutex.pxd +96 -0
  210. Cython/Includes/libcpp/span.pxd +87 -0
  211. Cython/Includes/libcpp/stack.pxd +11 -0
  212. Cython/Includes/libcpp/stop_token.pxd +117 -0
  213. Cython/Includes/libcpp/string.pxd +355 -0
  214. Cython/Includes/libcpp/string_view.pxd +183 -0
  215. Cython/Includes/libcpp/typeindex.pxd +15 -0
  216. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  217. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  218. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  219. Cython/Includes/libcpp/utility.pxd +30 -0
  220. Cython/Includes/libcpp/vector.pxd +186 -0
  221. Cython/Includes/numpy/math.pxd +150 -0
  222. Cython/Includes/openmp.pxd +50 -0
  223. Cython/Includes/posix/__init__.pxd +1 -0
  224. Cython/Includes/posix/dlfcn.pxd +14 -0
  225. Cython/Includes/posix/fcntl.pxd +86 -0
  226. Cython/Includes/posix/ioctl.pxd +4 -0
  227. Cython/Includes/posix/mman.pxd +101 -0
  228. Cython/Includes/posix/resource.pxd +57 -0
  229. Cython/Includes/posix/select.pxd +21 -0
  230. Cython/Includes/posix/signal.pxd +73 -0
  231. Cython/Includes/posix/stat.pxd +98 -0
  232. Cython/Includes/posix/stdio.pxd +37 -0
  233. Cython/Includes/posix/stdlib.pxd +29 -0
  234. Cython/Includes/posix/strings.pxd +9 -0
  235. Cython/Includes/posix/time.pxd +71 -0
  236. Cython/Includes/posix/types.pxd +30 -0
  237. Cython/Includes/posix/uio.pxd +26 -0
  238. Cython/Includes/posix/unistd.pxd +271 -0
  239. Cython/Includes/posix/wait.pxd +38 -0
  240. Cython/Plex/Actions.pxd +24 -0
  241. Cython/Plex/Actions.py +119 -0
  242. Cython/Plex/Actions.pyd +0 -0
  243. Cython/Plex/DFA.pxd +14 -0
  244. Cython/Plex/DFA.py +164 -0
  245. Cython/Plex/DFA.pyd +0 -0
  246. Cython/Plex/Errors.py +48 -0
  247. Cython/Plex/Lexicons.py +178 -0
  248. Cython/Plex/Machines.pxd +36 -0
  249. Cython/Plex/Machines.py +238 -0
  250. Cython/Plex/Machines.pyd +0 -0
  251. Cython/Plex/Regexps.py +535 -0
  252. Cython/Plex/Scanners.pxd +45 -0
  253. Cython/Plex/Scanners.py +328 -0
  254. Cython/Plex/Scanners.pyd +0 -0
  255. Cython/Plex/Transitions.pxd +14 -0
  256. Cython/Plex/Transitions.py +239 -0
  257. Cython/Plex/Transitions.pyd +0 -0
  258. Cython/Plex/__init__.py +34 -0
  259. Cython/Runtime/__init__.py +1 -0
  260. Cython/Runtime/refnanny.pyd +0 -0
  261. Cython/Runtime/refnanny.pyx +237 -0
  262. Cython/Shadow.py +690 -0
  263. Cython/Shadow.pyi +521 -0
  264. Cython/StringIOTree.py +170 -0
  265. Cython/StringIOTree.pyd +0 -0
  266. Cython/Tempita/__init__.py +4 -0
  267. Cython/Tempita/_looper.py +154 -0
  268. Cython/Tempita/_tempita.py +1091 -0
  269. Cython/Tempita/_tempita.pyd +0 -0
  270. Cython/TestUtils.py +422 -0
  271. Cython/Tests/TestCodeWriter.py +128 -0
  272. Cython/Tests/TestCythonUtils.py +202 -0
  273. Cython/Tests/TestJediTyper.py +223 -0
  274. Cython/Tests/TestShadow.py +114 -0
  275. Cython/Tests/TestStringIOTree.py +67 -0
  276. Cython/Tests/TestTestUtils.py +90 -0
  277. Cython/Tests/__init__.py +1 -0
  278. Cython/Tests/xmlrunner.py +390 -0
  279. Cython/Utility/AsyncGen.c +1031 -0
  280. Cython/Utility/Buffer.c +865 -0
  281. Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
  282. Cython/Utility/Builtins.c +810 -0
  283. Cython/Utility/CConvert.pyx +134 -0
  284. Cython/Utility/CMath.c +104 -0
  285. Cython/Utility/CommonStructures.c +226 -0
  286. Cython/Utility/Complex.c +378 -0
  287. Cython/Utility/Coroutine.c +2300 -0
  288. Cython/Utility/CpdefEnums.pyx +103 -0
  289. Cython/Utility/CppConvert.pyx +282 -0
  290. Cython/Utility/CppSupport.cpp +151 -0
  291. Cython/Utility/CythonFunction.c +1832 -0
  292. Cython/Utility/Dataclasses.c +101 -0
  293. Cython/Utility/Embed.c +121 -0
  294. Cython/Utility/Exceptions.c +1016 -0
  295. Cython/Utility/ExtensionTypes.c +996 -0
  296. Cython/Utility/FunctionArguments.c +1043 -0
  297. Cython/Utility/FusedFunction.pyx +44 -0
  298. Cython/Utility/ImportExport.c +907 -0
  299. Cython/Utility/MemoryView.pxd +188 -0
  300. Cython/Utility/MemoryView.pyx +1482 -0
  301. Cython/Utility/MemoryView_C.c +927 -0
  302. Cython/Utility/ModuleSetupCode.c +3203 -0
  303. Cython/Utility/NumpyImportArray.c +46 -0
  304. Cython/Utility/ObjectHandling.c +3273 -0
  305. Cython/Utility/Optimize.c +1603 -0
  306. Cython/Utility/Overflow.c +384 -0
  307. Cython/Utility/Printing.c +86 -0
  308. Cython/Utility/Profile.c +732 -0
  309. Cython/Utility/StringTools.c +1379 -0
  310. Cython/Utility/Synchronization.c +399 -0
  311. Cython/Utility/TString.c +356 -0
  312. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  313. Cython/Utility/TestCythonScope.pyx +75 -0
  314. Cython/Utility/TestUtilityLoader.c +12 -0
  315. Cython/Utility/TypeConversion.c +1385 -0
  316. Cython/Utility/UFuncs.pyx +50 -0
  317. Cython/Utility/UFuncs_C.c +89 -0
  318. Cython/Utility/__init__.py +28 -0
  319. Cython/Utility/arrayarray.h +167 -0
  320. Cython/Utils.py +687 -0
  321. Cython/Utils.pyd +0 -0
  322. Cython/__init__.py +10 -0
  323. Cython/__init__.pyi +7 -0
  324. Cython/py.typed +0 -0
  325. cython-3.2.0.dist-info/METADATA +85 -0
  326. cython-3.2.0.dist-info/RECORD +333 -0
  327. cython-3.2.0.dist-info/WHEEL +5 -0
  328. cython-3.2.0.dist-info/entry_points.txt +4 -0
  329. cython-3.2.0.dist-info/top_level.txt +3 -0
  330. cython.py +29 -0
  331. pyximport/__init__.py +4 -0
  332. pyximport/pyxbuild.py +160 -0
  333. pyximport/pyximport.py +482 -0
@@ -0,0 +1,103 @@
1
+ from libcpp cimport bool
2
+ from libcpp.exception cimport exception_ptr
3
+
4
+ cdef extern from "<future>":
5
+ pass # include first
6
+
7
+ cdef extern from *:
8
+ """
9
+ static void __Pyx_CppExn2PyErr();
10
+ CYTHON_UNUSED static void __pyx_future_error_handler() {
11
+ try {
12
+ throw;
13
+ } catch (const std::future_error &e) {
14
+ PyObject *args = Py_BuildValue(
15
+ "sis",
16
+ "std::future_error",
17
+ e.code().value(),
18
+ e.what()
19
+ );
20
+ if (!args) return;
21
+ Py_INCREF(PyExc_RuntimeError);
22
+ // It'd be nice to raise something more specific, but I can't easily do that
23
+ // so I've tried to at least make them identifiable by the arguments.
24
+ PyErr_Restore(PyExc_RuntimeError, args, NULL);
25
+ } catch (...) {
26
+ // Forward to the normal Cython exception conversion;
27
+ __Pyx_CppExn2PyErr();
28
+ }
29
+ }
30
+ """
31
+ void __pyx_future_error_handler() except+
32
+
33
+ cdef extern from "<future>" namespace "std" nogil:
34
+ cdef enum class future_status:
35
+ ready
36
+ timeout
37
+ deferred
38
+
39
+ cdef cppclass future[T]:
40
+ future() noexcept
41
+ future(future& other) noexcept # slightly mistyped move constructor
42
+
43
+ future& operator=(future& other) noexcept # slightly mistyped move assignment
44
+
45
+ shared_future[T] share() noexcept
46
+
47
+ # Not strictly right when T is a reference or void
48
+ T get() except +__pyx_future_error_handler
49
+
50
+ bool valid() noexcept
51
+
52
+ void wait() except+
53
+ # For wait_for and wait_until we don't have chrono yet
54
+ future_status wait_for(...) except+
55
+ future_status wait_until(...) except+
56
+
57
+ cdef cppclass shared_future[T]:
58
+ shared_future() noexcept
59
+ shared_future(const shared_future& other) noexcept # noexcept only from c++17 strictly
60
+ shared_future(future[T]& other) noexcept # slightly mistyped move
61
+
62
+ shared_future& operator=(const shared_future& other) noexcept # noexcept only from c++17 strictly
63
+ shared_future& operator=(future& other) noexcept # slightly mistyped move
64
+
65
+ # Not strictly right when T is a reference or void
66
+ const T& get() except +__pyx_future_error_handler
67
+
68
+ bool valid() noexcept
69
+
70
+ void wait() except+
71
+ # For wait_for and wait_until we don't have chrono yet
72
+ future_status wait_for(...) except+
73
+ future_status wait_until(...) except+
74
+
75
+ cdef cppclass promise[T]:
76
+ promise() noexcept
77
+ # don't expose the allocator version
78
+ promise(promise& other) noexcept # slightly mistyped move
79
+
80
+ promise& operator=(promise& other) noexcept # slightly mistyped move
81
+
82
+ void swap(promise& other) noexcept
83
+
84
+ future[T] get_future() except+
85
+
86
+ # Note that the set_* functions all have specialized error handling.
87
+ # A std::future_error will be converted to a RuntimeError with 3 arguments.
88
+ # The first argument is the string "std::future_error",
89
+ # the second is the error code as an int for comparison with future_errc,
90
+ # and the third is the message.
91
+ void set_value(T value) except +__pyx_future_error_handler
92
+ void set_value() except +__pyx_future_error_handler # only for void specialization
93
+ void set_value_at_thread_exit(T value) except +__pyx_future_error_handler
94
+ void set_value_at_thread_exit() except +__pyx_future_error_handler # only for void specialization
95
+
96
+ void set_exception(exception_ptr p) except +__pyx_future_error_handler
97
+ void set_exception_at_thread_exit(exception_ptr p) except +__pyx_future_error_handler
98
+
99
+ cdef enum class future_errc:
100
+ broken_promise
101
+ future_already_retrieved
102
+ promise_already_satisfied
103
+ no_state
@@ -0,0 +1,34 @@
1
+ #Basic reference: http://www.cplusplus.com/reference/iterator/
2
+ #Most of these classes are in fact empty structs
3
+
4
+ from libc.stddef import ptrdiff_t
5
+
6
+ cdef extern from "<iterator>" namespace "std" nogil:
7
+ cdef cppclass iterator[Category,T,Distance,Pointer,Reference]:
8
+ pass
9
+ cdef cppclass output_iterator_tag:
10
+ pass
11
+ cdef cppclass input_iterator_tag:
12
+ pass
13
+ cdef cppclass forward_iterator_tag(input_iterator_tag):
14
+ pass
15
+ cdef cppclass bidirectional_iterator_tag(forward_iterator_tag):
16
+ pass
17
+ cdef cppclass random_access_iterator_tag(bidirectional_iterator_tag):
18
+ pass
19
+
20
+ cdef cppclass back_insert_iterator[T](iterator[output_iterator_tag,void,void,void,void]):
21
+ pass
22
+ cdef cppclass front_insert_iterator[T](iterator[output_iterator_tag,void,void,void,void]):
23
+ pass
24
+ cdef cppclass insert_iterator[T](iterator[output_iterator_tag,void,void,void,void]):
25
+ pass
26
+ back_insert_iterator[CONTAINER] back_inserter[CONTAINER](CONTAINER &)
27
+ front_insert_iterator[CONTAINER] front_inserter[CONTAINER](CONTAINER &)
28
+ ##Note: this is the C++98 version of inserter.
29
+ ##The C++11 versions's prototype relies on typedef members of classes, which Cython doesn't currently support:
30
+ ##template <class Container>
31
+ ##insert_iterator<Container> inserter (Container& x, typename Container::iterator it)
32
+ insert_iterator[CONTAINER] inserter[CONTAINER,ITERATOR](CONTAINER &, ITERATOR)
33
+
34
+ ptrdiff_t distance[It](It first, It last)
@@ -0,0 +1,17 @@
1
+ from libcpp cimport bool
2
+
3
+ cdef extern from "<latch>" namespace "std" nogil:
4
+ # Note on thread safety:
5
+ # For any of the blocking functions, you should be very careful
6
+ # to ensure that you are not deadlocked on the GIL.
7
+ cdef cppclass latch:
8
+ latch(ptrdiff_t expected)
9
+
10
+ void count_down() except+
11
+ void count_down(ptrdiff_t n) except+
12
+ bool try_wait()
13
+ void wait() except+
14
+ void arrive_and_wait() except+
15
+ void arrive_and_wait(ptrdiff_t n) except+
16
+
17
+ ptrdiff_t max()
@@ -0,0 +1,61 @@
1
+ cdef extern from "<limits>" namespace "std" nogil:
2
+ enum float_round_style:
3
+ round_indeterminate = -1
4
+ round_toward_zero = 0
5
+ round_to_nearest = 1
6
+ round_toward_infinity = 2
7
+ round_toward_neg_infinity = 3
8
+
9
+ enum float_denorm_style:
10
+ denorm_indeterminate = -1
11
+ denorm_absent = 0
12
+ denorm_present = 1
13
+
14
+ #The static methods can be called as, e.g. numeric_limits[int].round_error(), etc.
15
+ #The const data members should be declared as static. Cython currently doesn't allow that
16
+ #and/or I can't figure it out, so you must instantiate an object to access, e.g.
17
+ #cdef numeric_limits[double] lm
18
+ #print lm.round_style
19
+ cdef cppclass numeric_limits[T]:
20
+ const bint is_specialized
21
+ @staticmethod
22
+ T min()
23
+ @staticmethod
24
+ T max()
25
+ const int digits
26
+ const int digits10
27
+ const bint is_signed
28
+ const bint is_integer
29
+ const bint is_exact
30
+ const int radix
31
+ @staticmethod
32
+ T epsilon()
33
+ @staticmethod
34
+ T round_error()
35
+
36
+ const int min_exponent
37
+ const int min_exponent10
38
+ const int max_exponent
39
+ const int max_exponent10
40
+
41
+ const bint has_infinity
42
+ const bint has_quiet_NaN
43
+ const bint has_signaling_NaN
44
+ const float_denorm_style has_denorm
45
+ const bint has_denorm_loss
46
+ @staticmethod
47
+ T infinity()
48
+ @staticmethod
49
+ T quiet_NaN()
50
+ @staticmethod
51
+ T signaling_NaN()
52
+ @staticmethod
53
+ T denorm_min()
54
+
55
+ const bint is_iec559
56
+ const bint is_bounded
57
+ const bint is_modulo
58
+
59
+ const bint traps
60
+ const bint tinyness_before
61
+ const float_round_style round_style
@@ -0,0 +1,117 @@
1
+ cdef extern from "<list>" namespace "std" nogil:
2
+ cdef cppclass list[T,ALLOCATOR=*]:
3
+ ctypedef T value_type
4
+ ctypedef ALLOCATOR allocator_type
5
+
6
+ # these should really be allocator_type.size_type and
7
+ # allocator_type.difference_type to be true to the C++ definition
8
+ # but cython doesn't support deferred access on template arguments
9
+ ctypedef size_t size_type
10
+ ctypedef ptrdiff_t difference_type
11
+
12
+ cppclass const_iterator
13
+ cppclass iterator:
14
+ iterator() except +
15
+ iterator(iterator&) except +
16
+ value_type& operator*()
17
+ iterator operator++()
18
+ iterator operator--()
19
+ iterator operator++(int)
20
+ iterator operator--(int)
21
+ bint operator==(iterator)
22
+ bint operator==(const_iterator)
23
+ bint operator!=(iterator)
24
+ bint operator!=(const_iterator)
25
+ cppclass const_iterator:
26
+ const_iterator() except +
27
+ const_iterator(iterator&) except +
28
+ const_iterator(const_iterator&) except +
29
+ operator=(iterator&) except +
30
+ const value_type& operator*()
31
+ const_iterator operator++()
32
+ const_iterator operator--()
33
+ const_iterator operator++(int)
34
+ const_iterator operator--(int)
35
+ bint operator==(iterator)
36
+ bint operator==(const_iterator)
37
+ bint operator!=(iterator)
38
+ bint operator!=(const_iterator)
39
+
40
+ cppclass const_reverse_iterator
41
+ cppclass reverse_iterator:
42
+ reverse_iterator() except +
43
+ reverse_iterator(reverse_iterator&) except +
44
+ value_type& operator*()
45
+ reverse_iterator operator++()
46
+ reverse_iterator operator--()
47
+ reverse_iterator operator++(int)
48
+ reverse_iterator operator--(int)
49
+ bint operator==(reverse_iterator)
50
+ bint operator==(const_reverse_iterator)
51
+ bint operator!=(reverse_iterator)
52
+ bint operator!=(const_reverse_iterator)
53
+ cppclass const_reverse_iterator:
54
+ const_reverse_iterator() except +
55
+ const_reverse_iterator(reverse_iterator&) except +
56
+ operator=(reverse_iterator&) except +
57
+ const value_type& operator*()
58
+ const_reverse_iterator operator++()
59
+ const_reverse_iterator operator--()
60
+ const_reverse_iterator operator++(int)
61
+ const_reverse_iterator operator--(int)
62
+ bint operator==(reverse_iterator)
63
+ bint operator==(const_reverse_iterator)
64
+ bint operator!=(reverse_iterator)
65
+ bint operator!=(const_reverse_iterator)
66
+
67
+ list() except +
68
+ list(list&) except +
69
+ list(size_t, T&) except +
70
+ #list operator=(list&)
71
+ bint operator==(list&, list&)
72
+ bint operator!=(list&, list&)
73
+ bint operator<(list&, list&)
74
+ bint operator>(list&, list&)
75
+ bint operator<=(list&, list&)
76
+ bint operator>=(list&, list&)
77
+ void assign(size_t, T&) except +
78
+ T& back()
79
+ iterator begin()
80
+ const_iterator const_begin "begin"()
81
+ const_iterator cbegin()
82
+ void clear()
83
+ bint empty()
84
+ iterator end()
85
+ const_iterator const_end "end"()
86
+ const_iterator cend()
87
+ iterator erase(iterator)
88
+ iterator erase(iterator, iterator)
89
+ T& front()
90
+ iterator insert(iterator, T&)
91
+ void insert(iterator, size_t, T&)
92
+ size_t max_size()
93
+ void merge(list&) except +
94
+ #void merge(list&, BinPred)
95
+ void pop_back()
96
+ void pop_front()
97
+ void push_back(T&) except +
98
+ void push_front(T&) except +
99
+ reverse_iterator rbegin()
100
+ const_reverse_iterator const_rbegin "rbegin"()
101
+ const_reverse_iterator crbegin()
102
+ void remove(T&) except +
103
+ #void remove_if(UnPred)
104
+ reverse_iterator rend()
105
+ const_reverse_iterator const_rend "rend"()
106
+ const_reverse_iterator crend()
107
+ void resize(size_t, T&) except +
108
+ void reverse()
109
+ size_t size()
110
+ void sort() except +
111
+ #void sort(BinPred)
112
+ void splice(iterator, list&)
113
+ void splice(iterator, list&, iterator)
114
+ void splice(iterator, list&, iterator, iterator)
115
+ void swap(list&)
116
+ void unique()
117
+ #void unique(BinPred)
@@ -0,0 +1,252 @@
1
+ from .utility cimport pair
2
+
3
+ cdef extern from "<map>" namespace "std" nogil:
4
+ cdef cppclass map[T, U, COMPARE=*, ALLOCATOR=*]:
5
+ ctypedef T key_type
6
+ ctypedef U mapped_type
7
+ ctypedef pair[const T, U] value_type
8
+ ctypedef COMPARE key_compare
9
+ ctypedef ALLOCATOR allocator_type
10
+
11
+ # these should really be allocator_type.size_type and
12
+ # allocator_type.difference_type to be true to the C++ definition
13
+ # but cython doesn't support deferred access on template arguments
14
+ ctypedef size_t size_type
15
+ ctypedef ptrdiff_t difference_type
16
+
17
+ cppclass const_iterator
18
+ cppclass iterator:
19
+ iterator() except +
20
+ iterator(iterator&) except +
21
+ # correct would be value_type& but this does not work
22
+ # well with cython's code gen
23
+ pair[T, U]& operator*()
24
+ iterator operator++()
25
+ iterator operator--()
26
+ iterator operator++(int)
27
+ iterator operator--(int)
28
+ bint operator==(iterator)
29
+ bint operator==(const_iterator)
30
+ bint operator!=(iterator)
31
+ bint operator!=(const_iterator)
32
+ cppclass const_iterator:
33
+ const_iterator() except +
34
+ const_iterator(iterator&) except +
35
+ const_iterator(const_iterator&) except +
36
+ operator=(iterator&) except +
37
+ # correct would be const value_type& but this does not work
38
+ # well with cython's code gen
39
+ const pair[T, U]& operator*()
40
+ const_iterator operator++()
41
+ const_iterator operator--()
42
+ const_iterator operator++(int)
43
+ const_iterator operator--(int)
44
+ bint operator==(iterator)
45
+ bint operator==(const_iterator)
46
+ bint operator!=(iterator)
47
+ bint operator!=(const_iterator)
48
+
49
+ cppclass const_reverse_iterator
50
+ cppclass reverse_iterator:
51
+ reverse_iterator() except +
52
+ reverse_iterator(reverse_iterator&) except +
53
+ # correct would be value_type& but this does not work
54
+ # well with cython's code gen
55
+ pair[T, U]& operator*()
56
+ reverse_iterator operator++()
57
+ reverse_iterator operator--()
58
+ reverse_iterator operator++(int)
59
+ reverse_iterator operator--(int)
60
+ bint operator==(reverse_iterator)
61
+ bint operator==(const_reverse_iterator)
62
+ bint operator!=(reverse_iterator)
63
+ bint operator!=(const_reverse_iterator)
64
+ cppclass const_reverse_iterator:
65
+ const_reverse_iterator() except +
66
+ const_reverse_iterator(reverse_iterator&) except +
67
+ operator=(reverse_iterator&) except +
68
+ # correct would be const value_type& but this does not work
69
+ # well with cython's code gen
70
+ const pair[T, U]& operator*()
71
+ const_reverse_iterator operator++()
72
+ const_reverse_iterator operator--()
73
+ const_reverse_iterator operator++(int)
74
+ const_reverse_iterator operator--(int)
75
+ bint operator==(reverse_iterator)
76
+ bint operator==(const_reverse_iterator)
77
+ bint operator!=(reverse_iterator)
78
+ bint operator!=(const_reverse_iterator)
79
+
80
+ map() except +
81
+ map(map&) except +
82
+ #map(key_compare&)
83
+ U& operator[](const T&)
84
+ #map& operator=(map&)
85
+ bint operator==(map&, map&)
86
+ bint operator!=(map&, map&)
87
+ bint operator<(map&, map&)
88
+ bint operator>(map&, map&)
89
+ bint operator<=(map&, map&)
90
+ bint operator>=(map&, map&)
91
+ U& at(const T&) except +
92
+ const U& const_at "at"(const T&) except +
93
+ iterator begin()
94
+ const_iterator const_begin "begin" ()
95
+ const_iterator cbegin()
96
+ void clear()
97
+ size_t count(const T&)
98
+ bint empty()
99
+ iterator end()
100
+ const_iterator const_end "end" ()
101
+ const_iterator cend()
102
+ pair[iterator, iterator] equal_range(const T&)
103
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
104
+ iterator erase(iterator)
105
+ iterator const_erase "erase"(const_iterator)
106
+ iterator erase(const_iterator, const_iterator)
107
+ size_t erase(const T&)
108
+ iterator find(const T&)
109
+ const_iterator const_find "find" (const T&)
110
+ pair[iterator, bint] insert(const pair[T, U]&) except +
111
+ iterator insert(const_iterator, const pair[T, U]&) except +
112
+ void insert[InputIt](InputIt, InputIt) except +
113
+ #key_compare key_comp()
114
+ iterator lower_bound(const T&)
115
+ const_iterator const_lower_bound "lower_bound"(const T&)
116
+ size_t max_size()
117
+ reverse_iterator rbegin()
118
+ const_reverse_iterator const_rbegin "rbegin"()
119
+ const_reverse_iterator crbegin()
120
+ reverse_iterator rend()
121
+ const_reverse_iterator const_rend "rend"()
122
+ const_reverse_iterator crend()
123
+ size_t size()
124
+ void swap(map&)
125
+ iterator upper_bound(const T&)
126
+ const_iterator const_upper_bound "upper_bound"(const T&)
127
+ #value_compare value_comp()
128
+ # C++20
129
+ bint contains(const T&)
130
+
131
+ cdef cppclass multimap[T, U, COMPARE=*, ALLOCATOR=*]:
132
+ ctypedef T key_type
133
+ ctypedef U mapped_type
134
+ ctypedef pair[const T, U] value_type
135
+ ctypedef COMPARE key_compare
136
+ ctypedef ALLOCATOR allocator_type
137
+
138
+ # these should really be allocator_type.size_type and
139
+ # allocator_type.difference_type to be true to the C++ definition
140
+ # but cython doesn't support deferred access on template arguments
141
+ ctypedef size_t size_type
142
+ ctypedef ptrdiff_t difference_type
143
+
144
+ cppclass const_iterator
145
+ cppclass iterator:
146
+ iterator() except +
147
+ iterator(iterator&) except +
148
+ # correct would be value_type& but this does not work
149
+ # well with cython's code gen
150
+ pair[T, U]& operator*()
151
+ iterator operator++()
152
+ iterator operator--()
153
+ iterator operator++(int)
154
+ iterator operator--(int)
155
+ bint operator==(iterator)
156
+ bint operator==(const_iterator)
157
+ bint operator!=(iterator)
158
+ bint operator!=(const_iterator)
159
+ cppclass const_iterator:
160
+ const_iterator() except +
161
+ const_iterator(iterator&) except +
162
+ const_iterator(const_iterator&) except +
163
+ operator=(iterator&) except +
164
+ # correct would be const value_type& but this does not work
165
+ # well with cython's code gen
166
+ const pair[T, U]& operator*()
167
+ const_iterator operator++()
168
+ const_iterator operator--()
169
+ const_iterator operator++(int)
170
+ const_iterator operator--(int)
171
+ bint operator==(iterator)
172
+ bint operator==(const_iterator)
173
+ bint operator!=(iterator)
174
+ bint operator!=(const_iterator)
175
+
176
+ cppclass const_reverse_iterator
177
+ cppclass reverse_iterator:
178
+ reverse_iterator() except +
179
+ reverse_iterator(reverse_iterator&) except +
180
+ # correct would be value_type& but this does not work
181
+ # well with cython's code gen
182
+ pair[T, U]& operator*()
183
+ reverse_iterator operator++()
184
+ reverse_iterator operator--()
185
+ reverse_iterator operator++(int)
186
+ reverse_iterator operator--(int)
187
+ bint operator==(reverse_iterator)
188
+ bint operator==(const_reverse_iterator)
189
+ bint operator!=(reverse_iterator)
190
+ bint operator!=(const_reverse_iterator)
191
+ cppclass const_reverse_iterator:
192
+ const_reverse_iterator() except +
193
+ const_reverse_iterator(reverse_iterator&) except +
194
+ operator=(reverse_iterator&) except +
195
+ # correct would be const value_type& but this does not work
196
+ # well with cython's code gen
197
+ const pair[T, U]& operator*()
198
+ const_reverse_iterator operator++()
199
+ const_reverse_iterator operator--()
200
+ const_reverse_iterator operator++(int)
201
+ const_reverse_iterator operator--(int)
202
+ bint operator==(reverse_iterator)
203
+ bint operator==(const_reverse_iterator)
204
+ bint operator!=(reverse_iterator)
205
+ bint operator!=(const_reverse_iterator)
206
+
207
+ multimap() except +
208
+ multimap(const multimap&) except +
209
+ #multimap(key_compare&)
210
+ #multimap& operator=(multimap&)
211
+ bint operator==(const multimap&, const multimap&)
212
+ bint operator!=(const multimap&, const multimap&)
213
+ bint operator<(const multimap&, const multimap&)
214
+ bint operator>(const multimap&, const multimap&)
215
+ bint operator<=(const multimap&, const multimap&)
216
+ bint operator>=(const multimap&, const multimap&)
217
+ iterator begin()
218
+ const_iterator const_begin "begin"()
219
+ const_iterator cbegin()
220
+ void clear()
221
+ size_t count(const T&)
222
+ bint empty()
223
+ iterator end()
224
+ const_iterator const_end "end"()
225
+ const_iterator cend()
226
+ pair[iterator, iterator] equal_range(const T&)
227
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
228
+ iterator erase(iterator)
229
+ iterator const_erase "erase"(const_iterator)
230
+ iterator erase(const_iterator, const_iterator)
231
+ size_t erase(const T&)
232
+ iterator find(const T&)
233
+ const_iterator const_find "find"(const T&)
234
+ iterator insert(const pair[T, U]&) except +
235
+ iterator insert(const_iterator, const pair[T, U]&) except +
236
+ void insert[InputIt](InputIt, InputIt) except +
237
+ #key_compare key_comp()
238
+ iterator lower_bound(const T&)
239
+ const_iterator const_lower_bound "lower_bound"(const T&)
240
+ size_t max_size()
241
+ reverse_iterator rbegin()
242
+ const_reverse_iterator const_rbegin "rbegin"()
243
+ const_reverse_iterator crbegin()
244
+ reverse_iterator rend()
245
+ const_reverse_iterator const_rend "rend"()
246
+ const_reverse_iterator crend()
247
+ size_t size()
248
+ void swap(multimap&)
249
+ iterator upper_bound(const T&)
250
+ const_iterator const_upper_bound "upper_bound"(const T&)
251
+ #value_compare value_comp()
252
+ bint contains(const T&)