Cython 3.1.0__py3-none-any.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 (316) hide show
  1. Cython/Build/BuildExecutable.py +169 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +323 -0
  4. Cython/Build/Dependencies.py +1306 -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 +76 -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 +8 -0
  18. Cython/CodeWriter.py +811 -0
  19. Cython/Compiler/AnalysedTreeTransforms.py +97 -0
  20. Cython/Compiler/Annotate.py +326 -0
  21. Cython/Compiler/AutoDocTransforms.py +320 -0
  22. Cython/Compiler/Buffer.py +680 -0
  23. Cython/Compiler/Builtin.py +934 -0
  24. Cython/Compiler/CmdLine.py +259 -0
  25. Cython/Compiler/Code.pxd +148 -0
  26. Cython/Compiler/Code.py +3375 -0
  27. Cython/Compiler/CodeGeneration.py +33 -0
  28. Cython/Compiler/CythonScope.py +187 -0
  29. Cython/Compiler/Dataclass.py +868 -0
  30. Cython/Compiler/DebugFlags.py +24 -0
  31. Cython/Compiler/Errors.py +295 -0
  32. Cython/Compiler/ExprNodes.py +15267 -0
  33. Cython/Compiler/FlowControl.pxd +97 -0
  34. Cython/Compiler/FlowControl.py +1455 -0
  35. Cython/Compiler/FusedNode.py +1002 -0
  36. Cython/Compiler/Future.py +16 -0
  37. Cython/Compiler/Interpreter.py +57 -0
  38. Cython/Compiler/Lexicon.py +340 -0
  39. Cython/Compiler/LineTable.py +114 -0
  40. Cython/Compiler/Main.py +853 -0
  41. Cython/Compiler/MatchCaseNodes.py +259 -0
  42. Cython/Compiler/MemoryView.py +922 -0
  43. Cython/Compiler/ModuleNode.py +4024 -0
  44. Cython/Compiler/Naming.py +374 -0
  45. Cython/Compiler/Nodes.py +10826 -0
  46. Cython/Compiler/Optimize.py +5256 -0
  47. Cython/Compiler/Options.py +835 -0
  48. Cython/Compiler/ParseTreeTransforms.pxd +77 -0
  49. Cython/Compiler/ParseTreeTransforms.py +4509 -0
  50. Cython/Compiler/Parsing.pxd +9 -0
  51. Cython/Compiler/Parsing.py +4789 -0
  52. Cython/Compiler/Pipeline.py +439 -0
  53. Cython/Compiler/PyrexTypes.py +5762 -0
  54. Cython/Compiler/Pythran.py +232 -0
  55. Cython/Compiler/Scanning.pxd +40 -0
  56. Cython/Compiler/Scanning.py +577 -0
  57. Cython/Compiler/StringEncoding.py +347 -0
  58. Cython/Compiler/Symtab.py +3080 -0
  59. Cython/Compiler/Tests/TestBuffer.py +105 -0
  60. Cython/Compiler/Tests/TestBuiltin.py +72 -0
  61. Cython/Compiler/Tests/TestCmdLine.py +586 -0
  62. Cython/Compiler/Tests/TestCode.py +86 -0
  63. Cython/Compiler/Tests/TestFlowControl.py +65 -0
  64. Cython/Compiler/Tests/TestGrammar.py +202 -0
  65. Cython/Compiler/Tests/TestMemView.py +71 -0
  66. Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
  67. Cython/Compiler/Tests/TestScanning.py +134 -0
  68. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  69. Cython/Compiler/Tests/TestStringEncoding.py +33 -0
  70. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  71. Cython/Compiler/Tests/TestTreePath.py +103 -0
  72. Cython/Compiler/Tests/TestTypes.py +75 -0
  73. Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
  74. Cython/Compiler/Tests/TestVisitor.py +61 -0
  75. Cython/Compiler/Tests/Utils.py +36 -0
  76. Cython/Compiler/Tests/__init__.py +1 -0
  77. Cython/Compiler/TreeFragment.py +278 -0
  78. Cython/Compiler/TreePath.py +303 -0
  79. Cython/Compiler/TypeInference.py +584 -0
  80. Cython/Compiler/TypeSlots.py +1181 -0
  81. Cython/Compiler/UFuncs.py +311 -0
  82. Cython/Compiler/UtilNodes.py +389 -0
  83. Cython/Compiler/UtilityCode.py +344 -0
  84. Cython/Compiler/Version.py +8 -0
  85. Cython/Compiler/Visitor.pxd +53 -0
  86. Cython/Compiler/Visitor.py +861 -0
  87. Cython/Compiler/__init__.py +1 -0
  88. Cython/Coverage.py +448 -0
  89. Cython/Debugger/Cygdb.py +175 -0
  90. Cython/Debugger/DebugWriter.py +82 -0
  91. Cython/Debugger/Tests/TestLibCython.py +275 -0
  92. Cython/Debugger/Tests/__init__.py +1 -0
  93. Cython/Debugger/Tests/cfuncs.c +8 -0
  94. Cython/Debugger/Tests/codefile +49 -0
  95. Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
  96. Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
  97. Cython/Debugger/__init__.py +1 -0
  98. Cython/Debugger/libcython.py +1548 -0
  99. Cython/Debugger/libpython.py +2821 -0
  100. Cython/Debugging.py +20 -0
  101. Cython/Distutils/__init__.py +2 -0
  102. Cython/Distutils/build_ext.py +139 -0
  103. Cython/Distutils/extension.py +96 -0
  104. Cython/Distutils/old_build_ext.py +351 -0
  105. Cython/Includes/cpython/__init__.pxd +173 -0
  106. Cython/Includes/cpython/array.pxd +174 -0
  107. Cython/Includes/cpython/bool.pxd +37 -0
  108. Cython/Includes/cpython/buffer.pxd +112 -0
  109. Cython/Includes/cpython/bytearray.pxd +33 -0
  110. Cython/Includes/cpython/bytes.pxd +200 -0
  111. Cython/Includes/cpython/cellobject.pxd +35 -0
  112. Cython/Includes/cpython/ceval.pxd +8 -0
  113. Cython/Includes/cpython/codecs.pxd +121 -0
  114. Cython/Includes/cpython/complex.pxd +60 -0
  115. Cython/Includes/cpython/contextvars.pxd +145 -0
  116. Cython/Includes/cpython/conversion.pxd +36 -0
  117. Cython/Includes/cpython/datetime.pxd +395 -0
  118. Cython/Includes/cpython/descr.pxd +26 -0
  119. Cython/Includes/cpython/dict.pxd +187 -0
  120. Cython/Includes/cpython/exc.pxd +263 -0
  121. Cython/Includes/cpython/fileobject.pxd +57 -0
  122. Cython/Includes/cpython/float.pxd +47 -0
  123. Cython/Includes/cpython/function.pxd +65 -0
  124. Cython/Includes/cpython/genobject.pxd +25 -0
  125. Cython/Includes/cpython/getargs.pxd +12 -0
  126. Cython/Includes/cpython/instance.pxd +25 -0
  127. Cython/Includes/cpython/iterator.pxd +36 -0
  128. Cython/Includes/cpython/iterobject.pxd +24 -0
  129. Cython/Includes/cpython/list.pxd +92 -0
  130. Cython/Includes/cpython/long.pxd +149 -0
  131. Cython/Includes/cpython/longintrepr.pxd +14 -0
  132. Cython/Includes/cpython/mapping.pxd +63 -0
  133. Cython/Includes/cpython/marshal.pxd +66 -0
  134. Cython/Includes/cpython/mem.pxd +120 -0
  135. Cython/Includes/cpython/memoryview.pxd +50 -0
  136. Cython/Includes/cpython/method.pxd +49 -0
  137. Cython/Includes/cpython/module.pxd +208 -0
  138. Cython/Includes/cpython/number.pxd +258 -0
  139. Cython/Includes/cpython/object.pxd +433 -0
  140. Cython/Includes/cpython/pycapsule.pxd +143 -0
  141. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  142. Cython/Includes/cpython/pyport.pxd +8 -0
  143. Cython/Includes/cpython/pystate.pxd +95 -0
  144. Cython/Includes/cpython/pythread.pxd +53 -0
  145. Cython/Includes/cpython/ref.pxd +67 -0
  146. Cython/Includes/cpython/sequence.pxd +134 -0
  147. Cython/Includes/cpython/set.pxd +119 -0
  148. Cython/Includes/cpython/slice.pxd +70 -0
  149. Cython/Includes/cpython/time.pxd +129 -0
  150. Cython/Includes/cpython/tuple.pxd +72 -0
  151. Cython/Includes/cpython/type.pxd +53 -0
  152. Cython/Includes/cpython/unicode.pxd +639 -0
  153. Cython/Includes/cpython/version.pxd +32 -0
  154. Cython/Includes/cpython/weakref.pxd +78 -0
  155. Cython/Includes/libc/__init__.pxd +1 -0
  156. Cython/Includes/libc/complex.pxd +35 -0
  157. Cython/Includes/libc/errno.pxd +127 -0
  158. Cython/Includes/libc/float.pxd +43 -0
  159. Cython/Includes/libc/limits.pxd +28 -0
  160. Cython/Includes/libc/locale.pxd +46 -0
  161. Cython/Includes/libc/math.pxd +209 -0
  162. Cython/Includes/libc/setjmp.pxd +10 -0
  163. Cython/Includes/libc/signal.pxd +64 -0
  164. Cython/Includes/libc/stddef.pxd +9 -0
  165. Cython/Includes/libc/stdint.pxd +105 -0
  166. Cython/Includes/libc/stdio.pxd +80 -0
  167. Cython/Includes/libc/stdlib.pxd +72 -0
  168. Cython/Includes/libc/string.pxd +50 -0
  169. Cython/Includes/libc/threads.pxd +84 -0
  170. Cython/Includes/libc/time.pxd +51 -0
  171. Cython/Includes/libcpp/__init__.pxd +4 -0
  172. Cython/Includes/libcpp/algorithm.pxd +320 -0
  173. Cython/Includes/libcpp/any.pxd +16 -0
  174. Cython/Includes/libcpp/atomic.pxd +59 -0
  175. Cython/Includes/libcpp/barrier.pxd +22 -0
  176. Cython/Includes/libcpp/bit.pxd +29 -0
  177. Cython/Includes/libcpp/cast.pxd +12 -0
  178. Cython/Includes/libcpp/cmath.pxd +518 -0
  179. Cython/Includes/libcpp/complex.pxd +106 -0
  180. Cython/Includes/libcpp/deque.pxd +165 -0
  181. Cython/Includes/libcpp/exception.pxd +86 -0
  182. Cython/Includes/libcpp/execution.pxd +15 -0
  183. Cython/Includes/libcpp/forward_list.pxd +63 -0
  184. Cython/Includes/libcpp/functional.pxd +26 -0
  185. Cython/Includes/libcpp/future.pxd +103 -0
  186. Cython/Includes/libcpp/iterator.pxd +34 -0
  187. Cython/Includes/libcpp/latch.pxd +17 -0
  188. Cython/Includes/libcpp/limits.pxd +61 -0
  189. Cython/Includes/libcpp/list.pxd +117 -0
  190. Cython/Includes/libcpp/map.pxd +252 -0
  191. Cython/Includes/libcpp/memory.pxd +115 -0
  192. Cython/Includes/libcpp/mutex.pxd +130 -0
  193. Cython/Includes/libcpp/numbers.pxd +15 -0
  194. Cython/Includes/libcpp/numeric.pxd +131 -0
  195. Cython/Includes/libcpp/optional.pxd +34 -0
  196. Cython/Includes/libcpp/pair.pxd +1 -0
  197. Cython/Includes/libcpp/queue.pxd +25 -0
  198. Cython/Includes/libcpp/random.pxd +166 -0
  199. Cython/Includes/libcpp/semaphore.pxd +44 -0
  200. Cython/Includes/libcpp/set.pxd +228 -0
  201. Cython/Includes/libcpp/shared_mutex.pxd +72 -0
  202. Cython/Includes/libcpp/span.pxd +87 -0
  203. Cython/Includes/libcpp/stack.pxd +11 -0
  204. Cython/Includes/libcpp/stop_token.pxd +105 -0
  205. Cython/Includes/libcpp/string.pxd +355 -0
  206. Cython/Includes/libcpp/string_view.pxd +181 -0
  207. Cython/Includes/libcpp/typeindex.pxd +15 -0
  208. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  209. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  210. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  211. Cython/Includes/libcpp/utility.pxd +30 -0
  212. Cython/Includes/libcpp/vector.pxd +186 -0
  213. Cython/Includes/openmp.pxd +50 -0
  214. Cython/Includes/posix/__init__.pxd +1 -0
  215. Cython/Includes/posix/dlfcn.pxd +14 -0
  216. Cython/Includes/posix/fcntl.pxd +86 -0
  217. Cython/Includes/posix/ioctl.pxd +4 -0
  218. Cython/Includes/posix/mman.pxd +101 -0
  219. Cython/Includes/posix/resource.pxd +57 -0
  220. Cython/Includes/posix/select.pxd +21 -0
  221. Cython/Includes/posix/signal.pxd +73 -0
  222. Cython/Includes/posix/stat.pxd +98 -0
  223. Cython/Includes/posix/stdio.pxd +37 -0
  224. Cython/Includes/posix/stdlib.pxd +29 -0
  225. Cython/Includes/posix/strings.pxd +9 -0
  226. Cython/Includes/posix/time.pxd +71 -0
  227. Cython/Includes/posix/types.pxd +30 -0
  228. Cython/Includes/posix/uio.pxd +26 -0
  229. Cython/Includes/posix/unistd.pxd +271 -0
  230. Cython/Includes/posix/wait.pxd +38 -0
  231. Cython/Plex/Actions.pxd +24 -0
  232. Cython/Plex/Actions.py +119 -0
  233. Cython/Plex/DFA.pxd +14 -0
  234. Cython/Plex/DFA.py +164 -0
  235. Cython/Plex/Errors.py +48 -0
  236. Cython/Plex/Lexicons.py +178 -0
  237. Cython/Plex/Machines.pxd +36 -0
  238. Cython/Plex/Machines.py +238 -0
  239. Cython/Plex/Regexps.py +539 -0
  240. Cython/Plex/Scanners.pxd +47 -0
  241. Cython/Plex/Scanners.py +360 -0
  242. Cython/Plex/Transitions.pxd +14 -0
  243. Cython/Plex/Transitions.py +239 -0
  244. Cython/Plex/__init__.py +34 -0
  245. Cython/Runtime/__init__.py +1 -0
  246. Cython/Runtime/refnanny.pyx +237 -0
  247. Cython/Shadow.py +690 -0
  248. Cython/Shadow.pyi +521 -0
  249. Cython/StringIOTree.py +170 -0
  250. Cython/Tempita/__init__.py +4 -0
  251. Cython/Tempita/_looper.py +154 -0
  252. Cython/Tempita/_tempita.py +1091 -0
  253. Cython/TestUtils.py +410 -0
  254. Cython/Tests/TestCodeWriter.py +128 -0
  255. Cython/Tests/TestCythonUtils.py +202 -0
  256. Cython/Tests/TestJediTyper.py +223 -0
  257. Cython/Tests/TestShadow.py +114 -0
  258. Cython/Tests/TestStringIOTree.py +67 -0
  259. Cython/Tests/TestTestUtils.py +90 -0
  260. Cython/Tests/__init__.py +1 -0
  261. Cython/Tests/xmlrunner.py +390 -0
  262. Cython/Utility/AsyncGen.c +1002 -0
  263. Cython/Utility/Buffer.c +875 -0
  264. Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
  265. Cython/Utility/Builtins.c +776 -0
  266. Cython/Utility/CConvert.pyx +134 -0
  267. Cython/Utility/CMath.c +104 -0
  268. Cython/Utility/CommonStructures.c +118 -0
  269. Cython/Utility/Complex.c +378 -0
  270. Cython/Utility/Coroutine.c +2206 -0
  271. Cython/Utility/CpdefEnums.pyx +103 -0
  272. Cython/Utility/CppConvert.pyx +279 -0
  273. Cython/Utility/CppSupport.cpp +143 -0
  274. Cython/Utility/CythonFunction.c +1794 -0
  275. Cython/Utility/Dataclasses.c +185 -0
  276. Cython/Utility/Dataclasses.py +112 -0
  277. Cython/Utility/Embed.c +125 -0
  278. Cython/Utility/Exceptions.c +1012 -0
  279. Cython/Utility/ExtensionTypes.c +809 -0
  280. Cython/Utility/FunctionArguments.c +965 -0
  281. Cython/Utility/ImportExport.c +987 -0
  282. Cython/Utility/Lock.c +136 -0
  283. Cython/Utility/MemoryView.pxd +187 -0
  284. Cython/Utility/MemoryView.pyx +1481 -0
  285. Cython/Utility/MemoryView_C.c +1046 -0
  286. Cython/Utility/ModuleSetupCode.c +3059 -0
  287. Cython/Utility/NumpyImportArray.c +46 -0
  288. Cython/Utility/ObjectHandling.c +3342 -0
  289. Cython/Utility/Optimize.c +1589 -0
  290. Cython/Utility/Overflow.c +404 -0
  291. Cython/Utility/Printing.c +86 -0
  292. Cython/Utility/Profile.c +709 -0
  293. Cython/Utility/StringTools.c +1259 -0
  294. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  295. Cython/Utility/TestCythonScope.pyx +75 -0
  296. Cython/Utility/TestUtilityLoader.c +12 -0
  297. Cython/Utility/TypeConversion.c +1284 -0
  298. Cython/Utility/UFuncs.pyx +50 -0
  299. Cython/Utility/UFuncs_C.c +89 -0
  300. Cython/Utility/__init__.py +28 -0
  301. Cython/Utility/arrayarray.h +148 -0
  302. Cython/Utils.py +687 -0
  303. Cython/__init__.py +10 -0
  304. Cython/__init__.pyi +7 -0
  305. Cython/py.typed +0 -0
  306. cython-3.1.0.dist-info/COPYING.txt +19 -0
  307. cython-3.1.0.dist-info/LICENSE.txt +176 -0
  308. cython-3.1.0.dist-info/METADATA +636 -0
  309. cython-3.1.0.dist-info/RECORD +316 -0
  310. cython-3.1.0.dist-info/WHEEL +5 -0
  311. cython-3.1.0.dist-info/entry_points.txt +4 -0
  312. cython-3.1.0.dist-info/top_level.txt +3 -0
  313. cython.py +29 -0
  314. pyximport/__init__.py +4 -0
  315. pyximport/pyxbuild.py +160 -0
  316. pyximport/pyximport.py +482 -0
@@ -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&)
@@ -0,0 +1,115 @@
1
+ from libcpp cimport bool, nullptr_t, nullptr
2
+
3
+ cdef extern from "<memory>" namespace "std" nogil:
4
+ cdef cppclass default_delete[T]:
5
+ default_delete()
6
+
7
+ cdef cppclass allocator[T]:
8
+ allocator()
9
+ allocator(const allocator &)
10
+ #allocator(const allocator[U] &) #unique_ptr unit tests fail w/this
11
+ T * address(T &)
12
+ const T * address(const T &) const
13
+ T * allocate( size_t n ) # Not to standard. should be a second default argument
14
+ void deallocate(T * , size_t)
15
+ size_t max_size() const
16
+ void construct( T *, const T &) #C++98. The C++11 version is variadic AND perfect-forwarding
17
+ void destroy(T *) #C++98
18
+ void destroy[U](U *) #unique_ptr unit tests fail w/this
19
+
20
+
21
+ cdef cppclass unique_ptr[T,DELETER=*]:
22
+ unique_ptr()
23
+ unique_ptr(nullptr_t)
24
+ unique_ptr(T*)
25
+ unique_ptr(unique_ptr[T]&)
26
+
27
+ # Modifiers
28
+ T* release()
29
+ void reset()
30
+ void reset(nullptr_t)
31
+ void reset(T*)
32
+ void swap(unique_ptr&)
33
+
34
+ # Observers
35
+ T* get()
36
+ T& operator*()
37
+ #T* operator->() # Not Supported
38
+ bool operator bool()
39
+ bool operator!()
40
+
41
+ bool operator==(const unique_ptr&)
42
+ bool operator!=(const unique_ptr&)
43
+ bool operator<(const unique_ptr&)
44
+ bool operator>(const unique_ptr&)
45
+ bool operator<=(const unique_ptr&)
46
+ bool operator>=(const unique_ptr&)
47
+
48
+ bool operator==(nullptr_t)
49
+ bool operator!=(nullptr_t)
50
+
51
+ # Forward Declaration not working ("Compiler crash in AnalyseDeclarationsTransform")
52
+ #cdef cppclass weak_ptr[T]
53
+
54
+ cdef cppclass shared_ptr[T]:
55
+ shared_ptr()
56
+ shared_ptr(nullptr_t)
57
+ shared_ptr(T*)
58
+ shared_ptr(shared_ptr[T]&)
59
+ shared_ptr(shared_ptr[T]&, T*)
60
+ shared_ptr(unique_ptr[T]&)
61
+ #shared_ptr(weak_ptr[T]&) # Not Supported
62
+ shared_ptr[T]& operator=[Y](const shared_ptr[Y]& ptr)
63
+
64
+ # Modifiers
65
+ void reset()
66
+ void reset(T*)
67
+ void swap(shared_ptr&)
68
+
69
+ # Observers
70
+ T* get()
71
+ T& operator*()
72
+ #T* operator->() # Not Supported
73
+ long use_count()
74
+ bool unique()
75
+ bool operator bool()
76
+ bool operator!()
77
+ #bool owner_before[Y](const weak_ptr[Y]&) # Not Supported
78
+ bool owner_before[Y](const shared_ptr[Y]&)
79
+
80
+ bool operator==(const shared_ptr&)
81
+ bool operator!=(const shared_ptr&)
82
+ bool operator<(const shared_ptr&)
83
+ bool operator>(const shared_ptr&)
84
+ bool operator<=(const shared_ptr&)
85
+ bool operator>=(const shared_ptr&)
86
+
87
+ bool operator==(nullptr_t)
88
+ bool operator!=(nullptr_t)
89
+
90
+ cdef cppclass weak_ptr[T]:
91
+ weak_ptr()
92
+ weak_ptr(weak_ptr[T]&)
93
+ weak_ptr(shared_ptr[T]&)
94
+
95
+ # Modifiers
96
+ void reset()
97
+ void swap(weak_ptr&)
98
+
99
+ # Observers
100
+ long use_count()
101
+ bool expired()
102
+ shared_ptr[T] lock()
103
+ bool owner_before[Y](const weak_ptr[Y]&)
104
+ bool owner_before[Y](const shared_ptr[Y]&)
105
+
106
+ # Smart pointer non-member operations
107
+ shared_ptr[T] make_shared[T](...) except +
108
+
109
+ unique_ptr[T] make_unique[T](...) except +
110
+
111
+ # No checking on the compatibility of T and U.
112
+ cdef shared_ptr[T] static_pointer_cast[T, U](const shared_ptr[U]&)
113
+ cdef shared_ptr[T] dynamic_pointer_cast[T, U](const shared_ptr[U]&)
114
+ cdef shared_ptr[T] const_pointer_cast[T, U](const shared_ptr[U]&)
115
+ cdef shared_ptr[T] reinterpret_pointer_cast[T, U](const shared_ptr[U]&)
@@ -0,0 +1,130 @@
1
+ from libcpp cimport bool
2
+
3
+ cdef extern from "<mutex>" namespace "std" nogil:
4
+ # For all these mutex classes, we strongly recommend you do not use any
5
+ # blocking lock function while holding the GIL (try_lock should be fine though).
6
+ cppclass mutex:
7
+ # may not be present, and we know nothing about it
8
+ cppclass native_handle_type:
9
+ pass
10
+
11
+ void lock() except+
12
+ bool try_lock()
13
+ void unlock()
14
+
15
+ native_handle_type native_handle() except+
16
+
17
+ cppclass timed_mutex:
18
+ # may not be present, and we know nothing about it
19
+ cppclass native_handle_type:
20
+ pass
21
+
22
+ void lock() except+
23
+ bool try_lock()
24
+ bool try_lock_for[T](const T& duration) except+
25
+ bool try_lock_until[T](const T& time_point) except+
26
+ void unlock()
27
+
28
+ native_handle_type native_handle() except+
29
+
30
+ # We strongly recommend not mixing recursive_mutex and the GIL at all.
31
+ # Because "unlock" may not actually unlock it, it's pretty hard to reason about
32
+ # avoiding deadlocks.
33
+ cppclass recursive_mutex:
34
+ # may not be present, and we know nothing about it
35
+ cppclass native_handle_type:
36
+ pass
37
+
38
+ void lock() except+
39
+ bool try_lock()
40
+ void unlock()
41
+
42
+ native_handle_type native_handle() except+
43
+
44
+ # We strongly recommend not mixing timed_recursive_mutex and the GIL at all.
45
+ # Because "unlock" may not actually unlock it, it's pretty hard to reason about
46
+ # avoiding deadlocks.
47
+ cppclass timed_recursive_mutex:
48
+ # may not be present, and we know nothing about it
49
+ cppclass native_handle_type:
50
+ pass
51
+
52
+ void lock() except+
53
+ bool try_lock()
54
+ bool try_lock_for[T](const T& duration) except+
55
+ bool try_lock_until[T](const T& time_point) except+
56
+ void unlock()
57
+
58
+ native_handle_type native_handle() except+
59
+
60
+
61
+ # tags
62
+ cppclass defer_lock_t:
63
+ pass
64
+ defer_lock_t defer_lock
65
+ cppclass try_to_lock_t:
66
+ pass
67
+ try_to_lock_t try_to_lock
68
+ cppclass adopt_lock_t:
69
+ pass
70
+ adopt_lock_t adopt_lock
71
+
72
+ # lock_guard is probably unusable without cpp_locals because it
73
+ # can't be default-constructed or moved.
74
+ # We strongly recommend you do not use this while holding the GIL.
75
+ cppclass lock_guard[T]:
76
+ ctypedef T mutex_type
77
+ lock_guard(mutex_type&) except+
78
+ lock_guard(mutex_type&, adopt_lock_t)
79
+
80
+ # We strongly recommend that you do not use any blocking lock function with the GIL.
81
+ # (try_lock is fine though).
82
+ cppclass unique_lock[T]:
83
+ ctypedef T mutex_type
84
+ unique_lock()
85
+ # This covers both the plain regular constructor, the 3 versions with tags
86
+ # and two std::chrono constructors. The two templated chrono versions stop
87
+ # us from declaring the overloads explicitly.
88
+ unique_lock(mutex_type&, ...) except+
89
+ #unique_lock(mutex_type&, defer_lock_t)
90
+ #unique_lock(mutex_type&, try_to_lock_t) except+
91
+ ## this feels like it should be noexcet, but cppreference implies it isn't
92
+ #unique_lock(mutex_type&, adopt_lock_t) except+
93
+
94
+ void lock() except+
95
+ bool try_lock() except+
96
+ bool try_lock_for[T](const T& duration) except+
97
+ bool try_lock_until[T](const T& time_point) except+
98
+ void unlock() except+
99
+
100
+ void swap(unique_lock& other)
101
+ # "release" is definitely not the same as unlock. Noted here because
102
+ # DW always makes this mistake and regrets it and wants to save you
103
+ # from the same fate.
104
+ mutex_type* release()
105
+
106
+ mutex_type* mutex()
107
+ bool owns_lock()
108
+ bool operator bool()
109
+
110
+ # scoped lock is probably unusable without cpp_locals.
111
+ # It's also a variadic template type so can take potentially unlimited number of
112
+ # arguments. Cython doesn't support this, so if you want more than 26 arguments,
113
+ # you're on your own.
114
+ # We strongly recommend that you do not use this while holding the GIL.
115
+ cppclass scoped_lock[A=*, B=*, C=*, D=*, E=*, F=*, G=*, H=*, I=*, J=*, K=*,
116
+ L=*, M=*, N=*, O=*, P=*, Q=*, R=*, S=*, T=*, U=*, V=*,
117
+ W=*, X=*, Y=*, Z=*]:
118
+ scoped_lock(...) except+
119
+
120
+ cppclass once_flag:
121
+ pass
122
+
123
+ bool try_lock(...) except+
124
+ # We strongly recommend that you do not call "lock" while holding the GIL.
125
+ void lock(...) except+
126
+
127
+ # We can't enforce this in the interface, but you need to make sure that Callable
128
+ # doesn't require the GIL and doesn't throw Python exceptions.
129
+ # You should also not call this with the GIL held.
130
+ void call_once[Callable](once_flag&, Callable& callable, ...) except +
@@ -0,0 +1,15 @@
1
+ cdef extern from "<numbers>" namespace "std::numbers" nogil:
2
+ # C++20 mathematical constants
3
+ const double e
4
+ const double log2e
5
+ const double log10e
6
+ const double pi
7
+ const double inv_pi
8
+ const double inv_sqrtpi
9
+ const double ln2
10
+ const double ln10
11
+ const double sqrt2
12
+ const double sqrt3
13
+ const double inv_sqrt3
14
+ const double egamma
15
+ const double phi