Cython 3.1.0a1__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 (301) hide show
  1. Cython/Build/BuildExecutable.py +169 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +250 -0
  4. Cython/Build/Dependencies.py +1275 -0
  5. Cython/Build/Distutils.py +1 -0
  6. Cython/Build/Inline.py +342 -0
  7. Cython/Build/IpythonMagic.py +560 -0
  8. Cython/Build/Tests/TestCyCache.py +119 -0
  9. Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
  10. Cython/Build/Tests/TestDependencies.py +133 -0
  11. Cython/Build/Tests/TestInline.py +112 -0
  12. Cython/Build/Tests/TestIpythonMagic.py +287 -0
  13. Cython/Build/Tests/TestRecythonize.py +212 -0
  14. Cython/Build/Tests/TestStripLiterals.py +155 -0
  15. Cython/Build/Tests/__init__.py +1 -0
  16. Cython/Build/__init__.py +8 -0
  17. Cython/CodeWriter.py +811 -0
  18. Cython/Compiler/AnalysedTreeTransforms.py +97 -0
  19. Cython/Compiler/Annotate.py +326 -0
  20. Cython/Compiler/AutoDocTransforms.py +314 -0
  21. Cython/Compiler/Buffer.py +680 -0
  22. Cython/Compiler/Builtin.py +862 -0
  23. Cython/Compiler/CmdLine.py +243 -0
  24. Cython/Compiler/Code.pxd +145 -0
  25. Cython/Compiler/Code.py +3328 -0
  26. Cython/Compiler/CodeGeneration.py +33 -0
  27. Cython/Compiler/CythonScope.py +179 -0
  28. Cython/Compiler/Dataclass.py +868 -0
  29. Cython/Compiler/DebugFlags.py +21 -0
  30. Cython/Compiler/Errors.py +295 -0
  31. Cython/Compiler/ExprNodes.py +15051 -0
  32. Cython/Compiler/FlowControl.pxd +97 -0
  33. Cython/Compiler/FlowControl.py +1438 -0
  34. Cython/Compiler/FusedNode.py +998 -0
  35. Cython/Compiler/Future.py +16 -0
  36. Cython/Compiler/Interpreter.py +57 -0
  37. Cython/Compiler/Lexicon.py +340 -0
  38. Cython/Compiler/LineTable.py +114 -0
  39. Cython/Compiler/Main.py +779 -0
  40. Cython/Compiler/MatchCaseNodes.py +259 -0
  41. Cython/Compiler/MemoryView.py +860 -0
  42. Cython/Compiler/ModuleNode.py +4065 -0
  43. Cython/Compiler/Naming.py +369 -0
  44. Cython/Compiler/Nodes.py +10557 -0
  45. Cython/Compiler/Optimize.py +5269 -0
  46. Cython/Compiler/Options.py +828 -0
  47. Cython/Compiler/ParseTreeTransforms.pxd +78 -0
  48. Cython/Compiler/ParseTreeTransforms.py +4441 -0
  49. Cython/Compiler/Parsing.pxd +9 -0
  50. Cython/Compiler/Parsing.py +4797 -0
  51. Cython/Compiler/Pipeline.py +425 -0
  52. Cython/Compiler/PyrexTypes.py +5572 -0
  53. Cython/Compiler/Pythran.py +223 -0
  54. Cython/Compiler/Scanning.pxd +40 -0
  55. Cython/Compiler/Scanning.py +574 -0
  56. Cython/Compiler/StringEncoding.py +347 -0
  57. Cython/Compiler/Symtab.py +2998 -0
  58. Cython/Compiler/Tests/TestBuffer.py +105 -0
  59. Cython/Compiler/Tests/TestBuiltin.py +72 -0
  60. Cython/Compiler/Tests/TestCmdLine.py +573 -0
  61. Cython/Compiler/Tests/TestCode.py +86 -0
  62. Cython/Compiler/Tests/TestFlowControl.py +65 -0
  63. Cython/Compiler/Tests/TestGrammar.py +202 -0
  64. Cython/Compiler/Tests/TestMemView.py +71 -0
  65. Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
  66. Cython/Compiler/Tests/TestScanning.py +134 -0
  67. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  68. Cython/Compiler/Tests/TestStringEncoding.py +33 -0
  69. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  70. Cython/Compiler/Tests/TestTreePath.py +93 -0
  71. Cython/Compiler/Tests/TestTypes.py +75 -0
  72. Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
  73. Cython/Compiler/Tests/TestVisitor.py +61 -0
  74. Cython/Compiler/Tests/Utils.py +36 -0
  75. Cython/Compiler/Tests/__init__.py +1 -0
  76. Cython/Compiler/TreeFragment.py +278 -0
  77. Cython/Compiler/TreePath.py +290 -0
  78. Cython/Compiler/TypeInference.py +584 -0
  79. Cython/Compiler/TypeSlots.py +1181 -0
  80. Cython/Compiler/UFuncs.py +311 -0
  81. Cython/Compiler/UtilNodes.py +387 -0
  82. Cython/Compiler/UtilityCode.py +274 -0
  83. Cython/Compiler/Version.py +8 -0
  84. Cython/Compiler/Visitor.pxd +53 -0
  85. Cython/Compiler/Visitor.py +861 -0
  86. Cython/Compiler/__init__.py +1 -0
  87. Cython/Coverage.py +443 -0
  88. Cython/Debugger/Cygdb.py +179 -0
  89. Cython/Debugger/DebugWriter.py +82 -0
  90. Cython/Debugger/Tests/TestLibCython.py +275 -0
  91. Cython/Debugger/Tests/__init__.py +1 -0
  92. Cython/Debugger/Tests/cfuncs.c +8 -0
  93. Cython/Debugger/Tests/codefile +49 -0
  94. Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
  95. Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
  96. Cython/Debugger/__init__.py +1 -0
  97. Cython/Debugger/libcython.py +1549 -0
  98. Cython/Debugger/libpython.py +2821 -0
  99. Cython/Debugging.py +20 -0
  100. Cython/Distutils/__init__.py +2 -0
  101. Cython/Distutils/build_ext.py +137 -0
  102. Cython/Distutils/extension.py +96 -0
  103. Cython/Distutils/old_build_ext.py +351 -0
  104. Cython/Includes/cpython/__init__.pxd +173 -0
  105. Cython/Includes/cpython/array.pxd +174 -0
  106. Cython/Includes/cpython/bool.pxd +37 -0
  107. Cython/Includes/cpython/buffer.pxd +112 -0
  108. Cython/Includes/cpython/bytearray.pxd +33 -0
  109. Cython/Includes/cpython/bytes.pxd +200 -0
  110. Cython/Includes/cpython/cellobject.pxd +35 -0
  111. Cython/Includes/cpython/ceval.pxd +8 -0
  112. Cython/Includes/cpython/codecs.pxd +121 -0
  113. Cython/Includes/cpython/complex.pxd +55 -0
  114. Cython/Includes/cpython/contextvars.pxd +141 -0
  115. Cython/Includes/cpython/conversion.pxd +36 -0
  116. Cython/Includes/cpython/datetime.pxd +384 -0
  117. Cython/Includes/cpython/descr.pxd +26 -0
  118. Cython/Includes/cpython/dict.pxd +187 -0
  119. Cython/Includes/cpython/exc.pxd +263 -0
  120. Cython/Includes/cpython/fileobject.pxd +57 -0
  121. Cython/Includes/cpython/float.pxd +47 -0
  122. Cython/Includes/cpython/function.pxd +65 -0
  123. Cython/Includes/cpython/genobject.pxd +25 -0
  124. Cython/Includes/cpython/getargs.pxd +12 -0
  125. Cython/Includes/cpython/instance.pxd +25 -0
  126. Cython/Includes/cpython/iterator.pxd +36 -0
  127. Cython/Includes/cpython/iterobject.pxd +24 -0
  128. Cython/Includes/cpython/list.pxd +92 -0
  129. Cython/Includes/cpython/long.pxd +149 -0
  130. Cython/Includes/cpython/longintrepr.pxd +19 -0
  131. Cython/Includes/cpython/mapping.pxd +63 -0
  132. Cython/Includes/cpython/marshal.pxd +66 -0
  133. Cython/Includes/cpython/mem.pxd +120 -0
  134. Cython/Includes/cpython/memoryview.pxd +50 -0
  135. Cython/Includes/cpython/method.pxd +49 -0
  136. Cython/Includes/cpython/module.pxd +208 -0
  137. Cython/Includes/cpython/number.pxd +258 -0
  138. Cython/Includes/cpython/object.pxd +433 -0
  139. Cython/Includes/cpython/pycapsule.pxd +143 -0
  140. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  141. Cython/Includes/cpython/pyport.pxd +8 -0
  142. Cython/Includes/cpython/pystate.pxd +95 -0
  143. Cython/Includes/cpython/pythread.pxd +53 -0
  144. Cython/Includes/cpython/ref.pxd +67 -0
  145. Cython/Includes/cpython/sequence.pxd +134 -0
  146. Cython/Includes/cpython/set.pxd +119 -0
  147. Cython/Includes/cpython/slice.pxd +70 -0
  148. Cython/Includes/cpython/time.pxd +129 -0
  149. Cython/Includes/cpython/tuple.pxd +72 -0
  150. Cython/Includes/cpython/type.pxd +53 -0
  151. Cython/Includes/cpython/unicode.pxd +639 -0
  152. Cython/Includes/cpython/version.pxd +32 -0
  153. Cython/Includes/cpython/weakref.pxd +42 -0
  154. Cython/Includes/libc/__init__.pxd +1 -0
  155. Cython/Includes/libc/complex.pxd +35 -0
  156. Cython/Includes/libc/errno.pxd +127 -0
  157. Cython/Includes/libc/float.pxd +43 -0
  158. Cython/Includes/libc/limits.pxd +28 -0
  159. Cython/Includes/libc/locale.pxd +46 -0
  160. Cython/Includes/libc/math.pxd +209 -0
  161. Cython/Includes/libc/setjmp.pxd +10 -0
  162. Cython/Includes/libc/signal.pxd +64 -0
  163. Cython/Includes/libc/stddef.pxd +9 -0
  164. Cython/Includes/libc/stdint.pxd +105 -0
  165. Cython/Includes/libc/stdio.pxd +80 -0
  166. Cython/Includes/libc/stdlib.pxd +72 -0
  167. Cython/Includes/libc/string.pxd +50 -0
  168. Cython/Includes/libc/time.pxd +47 -0
  169. Cython/Includes/libcpp/__init__.pxd +4 -0
  170. Cython/Includes/libcpp/algorithm.pxd +320 -0
  171. Cython/Includes/libcpp/any.pxd +16 -0
  172. Cython/Includes/libcpp/atomic.pxd +59 -0
  173. Cython/Includes/libcpp/bit.pxd +29 -0
  174. Cython/Includes/libcpp/cast.pxd +12 -0
  175. Cython/Includes/libcpp/cmath.pxd +518 -0
  176. Cython/Includes/libcpp/complex.pxd +106 -0
  177. Cython/Includes/libcpp/deque.pxd +165 -0
  178. Cython/Includes/libcpp/execution.pxd +15 -0
  179. Cython/Includes/libcpp/forward_list.pxd +63 -0
  180. Cython/Includes/libcpp/functional.pxd +26 -0
  181. Cython/Includes/libcpp/iterator.pxd +34 -0
  182. Cython/Includes/libcpp/limits.pxd +61 -0
  183. Cython/Includes/libcpp/list.pxd +117 -0
  184. Cython/Includes/libcpp/map.pxd +252 -0
  185. Cython/Includes/libcpp/memory.pxd +115 -0
  186. Cython/Includes/libcpp/numbers.pxd +15 -0
  187. Cython/Includes/libcpp/numeric.pxd +131 -0
  188. Cython/Includes/libcpp/optional.pxd +34 -0
  189. Cython/Includes/libcpp/pair.pxd +1 -0
  190. Cython/Includes/libcpp/queue.pxd +25 -0
  191. Cython/Includes/libcpp/random.pxd +166 -0
  192. Cython/Includes/libcpp/set.pxd +228 -0
  193. Cython/Includes/libcpp/stack.pxd +11 -0
  194. Cython/Includes/libcpp/string.pxd +333 -0
  195. Cython/Includes/libcpp/typeindex.pxd +15 -0
  196. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  197. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  198. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  199. Cython/Includes/libcpp/utility.pxd +30 -0
  200. Cython/Includes/libcpp/vector.pxd +167 -0
  201. Cython/Includes/openmp.pxd +50 -0
  202. Cython/Includes/posix/__init__.pxd +1 -0
  203. Cython/Includes/posix/dlfcn.pxd +14 -0
  204. Cython/Includes/posix/fcntl.pxd +86 -0
  205. Cython/Includes/posix/ioctl.pxd +4 -0
  206. Cython/Includes/posix/mman.pxd +101 -0
  207. Cython/Includes/posix/resource.pxd +57 -0
  208. Cython/Includes/posix/select.pxd +21 -0
  209. Cython/Includes/posix/signal.pxd +73 -0
  210. Cython/Includes/posix/stat.pxd +98 -0
  211. Cython/Includes/posix/stdio.pxd +37 -0
  212. Cython/Includes/posix/stdlib.pxd +29 -0
  213. Cython/Includes/posix/strings.pxd +9 -0
  214. Cython/Includes/posix/time.pxd +71 -0
  215. Cython/Includes/posix/types.pxd +30 -0
  216. Cython/Includes/posix/uio.pxd +26 -0
  217. Cython/Includes/posix/unistd.pxd +271 -0
  218. Cython/Includes/posix/wait.pxd +38 -0
  219. Cython/Plex/Actions.pxd +24 -0
  220. Cython/Plex/Actions.py +119 -0
  221. Cython/Plex/DFA.pxd +14 -0
  222. Cython/Plex/DFA.py +164 -0
  223. Cython/Plex/Errors.py +48 -0
  224. Cython/Plex/Lexicons.py +178 -0
  225. Cython/Plex/Machines.pxd +36 -0
  226. Cython/Plex/Machines.py +238 -0
  227. Cython/Plex/Regexps.py +539 -0
  228. Cython/Plex/Scanners.pxd +47 -0
  229. Cython/Plex/Scanners.py +360 -0
  230. Cython/Plex/Transitions.pxd +14 -0
  231. Cython/Plex/Transitions.py +239 -0
  232. Cython/Plex/__init__.py +34 -0
  233. Cython/Runtime/__init__.py +1 -0
  234. Cython/Runtime/refnanny.pyx +261 -0
  235. Cython/Shadow.py +656 -0
  236. Cython/Shadow.pyi +521 -0
  237. Cython/StringIOTree.py +170 -0
  238. Cython/Tempita/__init__.py +4 -0
  239. Cython/Tempita/_looper.py +154 -0
  240. Cython/Tempita/_tempita.py +1091 -0
  241. Cython/TestUtils.py +417 -0
  242. Cython/Tests/TestCodeWriter.py +128 -0
  243. Cython/Tests/TestCythonUtils.py +202 -0
  244. Cython/Tests/TestJediTyper.py +223 -0
  245. Cython/Tests/TestShadow.py +114 -0
  246. Cython/Tests/TestStringIOTree.py +67 -0
  247. Cython/Tests/TestTestUtils.py +90 -0
  248. Cython/Tests/__init__.py +1 -0
  249. Cython/Tests/xmlrunner.py +390 -0
  250. Cython/Utility/AsyncGen.c +1263 -0
  251. Cython/Utility/Buffer.c +875 -0
  252. Cython/Utility/Builtins.c +660 -0
  253. Cython/Utility/CConvert.pyx +134 -0
  254. Cython/Utility/CMath.c +95 -0
  255. Cython/Utility/CommonStructures.c +139 -0
  256. Cython/Utility/Complex.c +378 -0
  257. Cython/Utility/Coroutine.c +2413 -0
  258. Cython/Utility/CpdefEnums.pyx +108 -0
  259. Cython/Utility/CppConvert.pyx +279 -0
  260. Cython/Utility/CppSupport.cpp +133 -0
  261. Cython/Utility/CythonFunction.c +1851 -0
  262. Cython/Utility/Dataclasses.c +185 -0
  263. Cython/Utility/Dataclasses.py +112 -0
  264. Cython/Utility/Embed.c +125 -0
  265. Cython/Utility/Exceptions.c +1017 -0
  266. Cython/Utility/ExtensionTypes.c +797 -0
  267. Cython/Utility/FunctionArguments.c +573 -0
  268. Cython/Utility/ImportExport.c +912 -0
  269. Cython/Utility/MemoryView.pyx +1478 -0
  270. Cython/Utility/MemoryView_C.c +992 -0
  271. Cython/Utility/ModuleSetupCode.c +2501 -0
  272. Cython/Utility/NumpyImportArray.c +46 -0
  273. Cython/Utility/ObjectHandling.c +3054 -0
  274. Cython/Utility/Optimize.c +1533 -0
  275. Cython/Utility/Overflow.c +404 -0
  276. Cython/Utility/Printing.c +86 -0
  277. Cython/Utility/Profile.c +660 -0
  278. Cython/Utility/StringTools.c +1206 -0
  279. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  280. Cython/Utility/TestCythonScope.pyx +75 -0
  281. Cython/Utility/TestUtilityLoader.c +12 -0
  282. Cython/Utility/TypeConversion.c +1329 -0
  283. Cython/Utility/UFuncs.pyx +50 -0
  284. Cython/Utility/UFuncs_C.c +89 -0
  285. Cython/Utility/__init__.py +28 -0
  286. Cython/Utility/arrayarray.h +143 -0
  287. Cython/Utils.py +687 -0
  288. Cython/__init__.py +10 -0
  289. Cython/__init__.pyi +7 -0
  290. Cython/py.typed +0 -0
  291. Cython-3.1.0a1.dist-info/COPYING.txt +19 -0
  292. Cython-3.1.0a1.dist-info/LICENSE.txt +176 -0
  293. Cython-3.1.0a1.dist-info/METADATA +67 -0
  294. Cython-3.1.0a1.dist-info/RECORD +301 -0
  295. Cython-3.1.0a1.dist-info/WHEEL +5 -0
  296. Cython-3.1.0a1.dist-info/entry_points.txt +4 -0
  297. Cython-3.1.0a1.dist-info/top_level.txt +3 -0
  298. cython.py +29 -0
  299. pyximport/__init__.py +4 -0
  300. pyximport/pyxbuild.py +160 -0
  301. pyximport/pyximport.py +482 -0
@@ -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,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
@@ -0,0 +1,131 @@
1
+ cdef extern from "<numeric>" namespace "std" nogil:
2
+ T inner_product[InputIt1, InputIt2, T](InputIt1 first1, InputIt1 last1, InputIt2 first2, T init)
3
+
4
+ T inner_product[InputIt1, InputIt2, T, BinaryOperation1, BinaryOperation2](InputIt1 first1, InputIt1 last1,
5
+ InputIt2 first2, T init,
6
+ BinaryOperation1 op1,
7
+ BinaryOperation2 op2)
8
+
9
+ void iota[ForwardIt, T](ForwardIt first, ForwardIt last, T value)
10
+
11
+ T accumulate[InputIt, T](InputIt first, InputIt last, T init)
12
+
13
+ T accumulate[InputIt, T, BinaryOperation](InputIt first, InputIt last, T init, BinaryOperation op)
14
+
15
+ void adjacent_difference[InputIt, OutputIt](InputIt in_first, InputIt in_last, OutputIt out_first)
16
+
17
+ void adjacent_difference[InputIt, OutputIt, BinaryOperation](InputIt in_first, InputIt in_last, OutputIt out_first,
18
+ BinaryOperation op)
19
+
20
+ void partial_sum[InputIt, OutputIt](InputIt in_first, OutputIt in_last, OutputIt out_first)
21
+
22
+ void partial_sum[InputIt, OutputIt, BinaryOperation](InputIt in_first, InputIt in_last, OutputIt out_first,
23
+ BinaryOperation op)
24
+
25
+
26
+ T reduce[InputIt, T](InputIt first, InputIt last, T init)
27
+
28
+ # ambiguous with next overload
29
+ #T reduce[ExecutionPolicy, ForwardIt, T](ExecutionPolicy&& policy,
30
+ # ForwardIt first, ForwardIt last, T init)
31
+
32
+ T reduce[InputIt, T, BinaryOp](InputIt first, InputIt last, T init, BinaryOp binary_op)
33
+
34
+ T reduce[ExecutionPolicy, ForwardIt, T, BinaryOp](ExecutionPolicy&& policy,
35
+ ForwardIt first, ForwardIt last, T init, BinaryOp binary_op)
36
+
37
+ T transform_reduce[InputIt1, InputIt2, T](InputIt1 first1, InputIt1 last1,
38
+ InputIt2 first2, T init)
39
+
40
+ T transform_reduce[InputIt1, InputIt2, T, BinaryReductionOp, BinaryTransformOp](
41
+ InputIt1 first1, InputIt1 last1, InputIt2 first2, T init,
42
+ BinaryReductionOp reduce, BinaryTransformOp transform)
43
+
44
+ T transform_reduce[InputIt, T, BinaryReductionOp, UnaryTransformOp](
45
+ InputIt first, InputIt last, T init, BinaryReductionOp reduce,
46
+ UnaryTransformOp transform)
47
+
48
+ # ambiguous with previous overload
49
+ #T transform_reduce[ExecutionPolicy, ForwardIt1, ForwardIt2, T](
50
+ # ExecutionPolicy&& policy, ForwardIt1 first1, ForwardIt1 last1,
51
+ # ForwardIt2 first2, T init)
52
+
53
+ T transform_reduce[ExecutionPolicy, ForwardIt1, ForwardIt2, T, BinaryReductionOp, BinaryTransformOp](
54
+ ExecutionPolicy&& policy, ForwardIt1 first1, ForwardIt1 last1, ForwardIt2 first2, T init,
55
+ BinaryReductionOp reduce, BinaryTransformOp transform)
56
+
57
+ # ambiguous with second overload
58
+ #T transform_reduce[ExecutionPolicy, ForwardIt, T, BinaryReductionOp, UnaryTransformOp](
59
+ # ExecutionPolicy&& policy, ForwardIt first, ForwardIt last, T init, BinaryReductionOp reduce,
60
+ # UnaryTransformOp transform)
61
+
62
+ OutputIt inclusive_scan[InputIt, OutputIt](InputIt first, InputIt last, OutputIt d_first)
63
+
64
+ # ambiguous with next overload
65
+ # ForwardIt2 inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2](
66
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last,
67
+ # ForwardIt2 d_first)
68
+
69
+ OutputIt inclusive_scan[InputIt, OutputIt, BinaryOperation](
70
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op)
71
+
72
+ # ambiguous with next overload
73
+ # ForwardIt2 inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation](
74
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
75
+ # BinaryOperation binary_op)
76
+
77
+ OutputIt inclusive_scan[InputIt, OutputIt, BinaryOperation, T](
78
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op,
79
+ T init)
80
+
81
+ #
82
+ # ForwardIt2 inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation, T](
83
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
84
+ # BinaryOperation binary_op, T init)
85
+
86
+ OutputIt exclusive_scan[InputIt, OutputIt, T](InputIt first, InputIt last,
87
+ OutputIt d_first, T init)
88
+
89
+ # ambiguous with next overload
90
+ #ForwardIt2 exclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, T](
91
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last,
92
+ # ForwardIt2 d_first, T init)
93
+
94
+ OutputIt exclusive_scan[InputIt, OutputIt, T, BinaryOperation](
95
+ InputIt first, InputIt last, OutputIt d_first, T init, BinaryOperation binary_op)
96
+
97
+ ForwardIt2 exclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, T, BinaryOperation](
98
+ ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
99
+ T init, BinaryOperation binary_op)
100
+
101
+ OutputIt transform_inclusive_scan[InputIt, OutputIt, BinaryOperation, UnaryOperation](
102
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op,
103
+ UnaryOperation unary_op)
104
+
105
+ # ambiguous with next overload
106
+ # ForwardIt2 transform_inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation, UnaryOperation](
107
+ # ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
108
+ # BinaryOperation binary_op, UnaryOperation unary_op)
109
+
110
+ OutputIt transform_inclusive_scan[InputIt, OutputIt, BinaryOperation, UnaryOperation, T](
111
+ InputIt first, InputIt last, OutputIt d_first, BinaryOperation binary_op,
112
+ UnaryOperation unary_op, T init)
113
+
114
+ ForwardIt2 transform_inclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, BinaryOperation, UnaryOperation, T](
115
+ ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
116
+ BinaryOperation binary_op, UnaryOperation unary_op, T init)
117
+
118
+ OutputIt transform_exclusive_scan[InputIt, OutputIt, T, BinaryOperation, UnaryOperation](
119
+ InputIt first, InputIt last, OutputIt d_first, T init, BinaryOperation binary_op,
120
+ UnaryOperation unary_op)
121
+
122
+ ForwardIt2 transform_exclusive_scan[ExecutionPolicy, ForwardIt1, ForwardIt2, T, BinaryOperation, UnaryOperation](
123
+ ExecutionPolicy&& policy, ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first,
124
+ T init, BinaryOperation binary_op, UnaryOperation unary_op)
125
+
126
+ # C++17
127
+ T gcd[T](T a, T b)
128
+ T lcm[T](T a, T b)
129
+
130
+ # C++20
131
+ T midpoint[T](T a, T b) except +
@@ -0,0 +1,34 @@
1
+ from libcpp cimport bool
2
+
3
+ cdef extern from "<optional>" namespace "std" nogil:
4
+ cdef cppclass nullopt_t:
5
+ nullopt_t()
6
+
7
+ cdef nullopt_t nullopt
8
+
9
+ cdef cppclass optional[T]:
10
+ ctypedef T value_type
11
+ optional()
12
+ optional(nullopt_t)
13
+ optional(optional&) except +
14
+ optional(T&) except +
15
+ bool has_value()
16
+ T& value() except +
17
+ T& value_or[U](U& default_value)
18
+ void swap(optional&)
19
+ void reset()
20
+ T& emplace(...)
21
+ T& operator*()
22
+ #T* operator->() # Not Supported
23
+ optional& operator=(optional&)
24
+ optional& operator=[U](U&)
25
+ bool operator bool()
26
+ bool operator!()
27
+ bool operator==[U](optional&, U&)
28
+ bool operator!=[U](optional&, U&)
29
+ bool operator<[U](optional&, U&)
30
+ bool operator>[U](optional&, U&)
31
+ bool operator<=[U](optional&, U&)
32
+ bool operator>=[U](optional&, U&)
33
+
34
+ optional[T] make_optional[T](...) except +
@@ -0,0 +1 @@
1
+ from .utility cimport pair
@@ -0,0 +1,25 @@
1
+ cdef extern from "<queue>" namespace "std" nogil:
2
+ cdef cppclass queue[T]:
3
+ queue() except +
4
+ queue(queue&) except +
5
+ #queue(Container&)
6
+ T& back()
7
+ bint empty()
8
+ T& front()
9
+ void pop()
10
+ void push(T&)
11
+ size_t size()
12
+ # C++11 methods
13
+ void swap(queue&)
14
+
15
+ cdef cppclass priority_queue[T]:
16
+ priority_queue() except +
17
+ priority_queue(priority_queue&) except +
18
+ #priority_queue(Container&)
19
+ bint empty()
20
+ void pop()
21
+ void push(T&)
22
+ size_t size()
23
+ T& top()
24
+ # C++11 methods
25
+ void swap(priority_queue&)