Cython 3.3.0a1__cp315-cp315-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. Cython/Build/BuildExecutable.py +156 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +349 -0
  4. Cython/Build/Dependencies.py +1276 -0
  5. Cython/Build/Distutils.py +1 -0
  6. Cython/Build/Inline.py +467 -0
  7. Cython/Build/IpythonMagic.py +559 -0
  8. Cython/Build/SharedModule.py +84 -0
  9. Cython/Build/Tests/TestCyCache.py +195 -0
  10. Cython/Build/Tests/TestCythonizeArgsParser.py +480 -0
  11. Cython/Build/Tests/TestDependencies.py +133 -0
  12. Cython/Build/Tests/TestInline.py +177 -0
  13. Cython/Build/Tests/TestIpythonMagic.py +303 -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 +997 -0
  24. Cython/Compiler/CmdLine.py +263 -0
  25. Cython/Compiler/Code.cp315-win_amd64.pyd +0 -0
  26. Cython/Compiler/Code.pxd +152 -0
  27. Cython/Compiler/Code.py +3907 -0
  28. Cython/Compiler/CodeGeneration.py +33 -0
  29. Cython/Compiler/CythonScope.py +194 -0
  30. Cython/Compiler/Dataclass.py +890 -0
  31. Cython/Compiler/DebugFlags.py +24 -0
  32. Cython/Compiler/Errors.py +310 -0
  33. Cython/Compiler/ExprNodes.py +15983 -0
  34. Cython/Compiler/FlowControl.cp315-win_amd64.pyd +0 -0
  35. Cython/Compiler/FlowControl.pxd +99 -0
  36. Cython/Compiler/FlowControl.py +1571 -0
  37. Cython/Compiler/FusedNode.cp315-win_amd64.pyd +0 -0
  38. Cython/Compiler/FusedNode.py +976 -0
  39. Cython/Compiler/Future.py +16 -0
  40. Cython/Compiler/Interpreter.py +57 -0
  41. Cython/Compiler/Lexicon.py +422 -0
  42. Cython/Compiler/LineTable.cp315-win_amd64.pyd +0 -0
  43. Cython/Compiler/LineTable.py +114 -0
  44. Cython/Compiler/Main.py +856 -0
  45. Cython/Compiler/MatchCaseNodes.py +2197 -0
  46. Cython/Compiler/MemoryView.py +930 -0
  47. Cython/Compiler/ModuleNode.py +4517 -0
  48. Cython/Compiler/Naming.py +367 -0
  49. Cython/Compiler/Nodes.py +10941 -0
  50. Cython/Compiler/Optimize.py +5455 -0
  51. Cython/Compiler/Options.py +838 -0
  52. Cython/Compiler/ParseTreeTransforms.pxd +79 -0
  53. Cython/Compiler/ParseTreeTransforms.py +4744 -0
  54. Cython/Compiler/Parsing.cp315-win_amd64.pyd +0 -0
  55. Cython/Compiler/Parsing.pxd +9 -0
  56. Cython/Compiler/Parsing.py +4792 -0
  57. Cython/Compiler/Pipeline.py +439 -0
  58. Cython/Compiler/PyrexTypes.py +6111 -0
  59. Cython/Compiler/Pythran.py +232 -0
  60. Cython/Compiler/Scanning.cp315-win_amd64.pyd +0 -0
  61. Cython/Compiler/Scanning.pxd +70 -0
  62. Cython/Compiler/Scanning.py +720 -0
  63. Cython/Compiler/StringEncoding.py +297 -0
  64. Cython/Compiler/Symtab.py +3092 -0
  65. Cython/Compiler/Tests/TestBuffer.py +105 -0
  66. Cython/Compiler/Tests/TestBuiltin.py +117 -0
  67. Cython/Compiler/Tests/TestCmdLine.py +587 -0
  68. Cython/Compiler/Tests/TestCode.py +145 -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 +132 -0
  74. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  75. Cython/Compiler/Tests/TestStringEncoding.py +20 -0
  76. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  77. Cython/Compiler/Tests/TestTreePath.py +103 -0
  78. Cython/Compiler/Tests/TestTypes.py +118 -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 +611 -0
  86. Cython/Compiler/TypeSlots.py +1329 -0
  87. Cython/Compiler/UFuncs.py +311 -0
  88. Cython/Compiler/UtilNodes.py +413 -0
  89. Cython/Compiler/UtilityCode.py +348 -0
  90. Cython/Compiler/Version.py +8 -0
  91. Cython/Compiler/Visitor.cp315-win_amd64.pyd +0 -0
  92. Cython/Compiler/Visitor.pxd +53 -0
  93. Cython/Compiler/Visitor.py +864 -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 +280 -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 +580 -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 +152 -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 +268 -0
  127. Cython/Includes/cpython/exc.pxd +263 -0
  128. Cython/Includes/cpython/fileobject.pxd +57 -0
  129. Cython/Includes/cpython/float.pxd +56 -0
  130. Cython/Includes/cpython/frozendict.pxd +37 -0
  131. Cython/Includes/cpython/function.pxd +65 -0
  132. Cython/Includes/cpython/genobject.pxd +25 -0
  133. Cython/Includes/cpython/getargs.pxd +12 -0
  134. Cython/Includes/cpython/instance.pxd +25 -0
  135. Cython/Includes/cpython/iterator.pxd +36 -0
  136. Cython/Includes/cpython/iterobject.pxd +24 -0
  137. Cython/Includes/cpython/list.pxd +144 -0
  138. Cython/Includes/cpython/long.pxd +180 -0
  139. Cython/Includes/cpython/longintrepr.pxd +14 -0
  140. Cython/Includes/cpython/mapping.pxd +63 -0
  141. Cython/Includes/cpython/marshal.pxd +66 -0
  142. Cython/Includes/cpython/mem.pxd +120 -0
  143. Cython/Includes/cpython/memoryview.pxd +50 -0
  144. Cython/Includes/cpython/method.pxd +49 -0
  145. Cython/Includes/cpython/module.pxd +208 -0
  146. Cython/Includes/cpython/number.pxd +258 -0
  147. Cython/Includes/cpython/object.pxd +430 -0
  148. Cython/Includes/cpython/pycapsule.pxd +143 -0
  149. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  150. Cython/Includes/cpython/pyport.pxd +8 -0
  151. Cython/Includes/cpython/pystate.pxd +95 -0
  152. Cython/Includes/cpython/pythread.pxd +53 -0
  153. Cython/Includes/cpython/ref.pxd +141 -0
  154. Cython/Includes/cpython/sentinel.pxd +17 -0
  155. Cython/Includes/cpython/sequence.pxd +134 -0
  156. Cython/Includes/cpython/set.pxd +119 -0
  157. Cython/Includes/cpython/slice.pxd +70 -0
  158. Cython/Includes/cpython/time.pxd +129 -0
  159. Cython/Includes/cpython/tuple.pxd +72 -0
  160. Cython/Includes/cpython/type.pxd +146 -0
  161. Cython/Includes/cpython/unicode.pxd +639 -0
  162. Cython/Includes/cpython/version.pxd +32 -0
  163. Cython/Includes/cpython/weakref.pxd +78 -0
  164. Cython/Includes/libc/__init__.pxd +1 -0
  165. Cython/Includes/libc/complex.pxd +35 -0
  166. Cython/Includes/libc/errno.pxd +127 -0
  167. Cython/Includes/libc/float.pxd +43 -0
  168. Cython/Includes/libc/limits.pxd +28 -0
  169. Cython/Includes/libc/locale.pxd +46 -0
  170. Cython/Includes/libc/math.pxd +209 -0
  171. Cython/Includes/libc/setjmp.pxd +10 -0
  172. Cython/Includes/libc/signal.pxd +64 -0
  173. Cython/Includes/libc/stddef.pxd +9 -0
  174. Cython/Includes/libc/stdint.pxd +105 -0
  175. Cython/Includes/libc/stdio.pxd +80 -0
  176. Cython/Includes/libc/stdlib.pxd +72 -0
  177. Cython/Includes/libc/string.pxd +50 -0
  178. Cython/Includes/libc/threads.pxd +234 -0
  179. Cython/Includes/libc/time.pxd +52 -0
  180. Cython/Includes/libcpp/__init__.pxd +4 -0
  181. Cython/Includes/libcpp/algorithm.pxd +320 -0
  182. Cython/Includes/libcpp/any.pxd +16 -0
  183. Cython/Includes/libcpp/atomic.pxd +59 -0
  184. Cython/Includes/libcpp/barrier.pxd +22 -0
  185. Cython/Includes/libcpp/bit.pxd +29 -0
  186. Cython/Includes/libcpp/cast.pxd +12 -0
  187. Cython/Includes/libcpp/cmath.pxd +518 -0
  188. Cython/Includes/libcpp/complex.pxd +106 -0
  189. Cython/Includes/libcpp/condition_variable.pxd +322 -0
  190. Cython/Includes/libcpp/deque.pxd +165 -0
  191. Cython/Includes/libcpp/exception.pxd +216 -0
  192. Cython/Includes/libcpp/execution.pxd +15 -0
  193. Cython/Includes/libcpp/forward_list.pxd +63 -0
  194. Cython/Includes/libcpp/functional.pxd +26 -0
  195. Cython/Includes/libcpp/future.pxd +103 -0
  196. Cython/Includes/libcpp/iterator.pxd +34 -0
  197. Cython/Includes/libcpp/latch.pxd +17 -0
  198. Cython/Includes/libcpp/limits.pxd +61 -0
  199. Cython/Includes/libcpp/list.pxd +117 -0
  200. Cython/Includes/libcpp/map.pxd +252 -0
  201. Cython/Includes/libcpp/memory.pxd +115 -0
  202. Cython/Includes/libcpp/mutex.pxd +387 -0
  203. Cython/Includes/libcpp/numbers.pxd +15 -0
  204. Cython/Includes/libcpp/numeric.pxd +131 -0
  205. Cython/Includes/libcpp/optional.pxd +34 -0
  206. Cython/Includes/libcpp/pair.pxd +1 -0
  207. Cython/Includes/libcpp/queue.pxd +25 -0
  208. Cython/Includes/libcpp/random.pxd +166 -0
  209. Cython/Includes/libcpp/semaphore.pxd +43 -0
  210. Cython/Includes/libcpp/set.pxd +228 -0
  211. Cython/Includes/libcpp/shared_mutex.pxd +96 -0
  212. Cython/Includes/libcpp/span.pxd +87 -0
  213. Cython/Includes/libcpp/stack.pxd +11 -0
  214. Cython/Includes/libcpp/stop_token.pxd +117 -0
  215. Cython/Includes/libcpp/string.pxd +355 -0
  216. Cython/Includes/libcpp/string_view.pxd +183 -0
  217. Cython/Includes/libcpp/typeindex.pxd +15 -0
  218. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  219. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  220. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  221. Cython/Includes/libcpp/utility.pxd +30 -0
  222. Cython/Includes/libcpp/vector.pxd +186 -0
  223. Cython/Includes/numpy/math.pxd +150 -0
  224. Cython/Includes/openmp.pxd +50 -0
  225. Cython/Includes/posix/__init__.pxd +1 -0
  226. Cython/Includes/posix/dlfcn.pxd +14 -0
  227. Cython/Includes/posix/fcntl.pxd +86 -0
  228. Cython/Includes/posix/ioctl.pxd +4 -0
  229. Cython/Includes/posix/mman.pxd +101 -0
  230. Cython/Includes/posix/resource.pxd +57 -0
  231. Cython/Includes/posix/select.pxd +21 -0
  232. Cython/Includes/posix/signal.pxd +73 -0
  233. Cython/Includes/posix/stat.pxd +98 -0
  234. Cython/Includes/posix/stdio.pxd +37 -0
  235. Cython/Includes/posix/stdlib.pxd +29 -0
  236. Cython/Includes/posix/strings.pxd +9 -0
  237. Cython/Includes/posix/time.pxd +71 -0
  238. Cython/Includes/posix/types.pxd +30 -0
  239. Cython/Includes/posix/uio.pxd +26 -0
  240. Cython/Includes/posix/unistd.pxd +271 -0
  241. Cython/Includes/posix/wait.pxd +38 -0
  242. Cython/LZSS.py +170 -0
  243. Cython/Plex/Actions.cp315-win_amd64.pyd +0 -0
  244. Cython/Plex/Actions.pxd +24 -0
  245. Cython/Plex/Actions.py +119 -0
  246. Cython/Plex/DFA.cp315-win_amd64.pyd +0 -0
  247. Cython/Plex/DFA.pxd +14 -0
  248. Cython/Plex/DFA.py +164 -0
  249. Cython/Plex/Errors.py +48 -0
  250. Cython/Plex/Lexicons.py +178 -0
  251. Cython/Plex/Machines.cp315-win_amd64.pyd +0 -0
  252. Cython/Plex/Machines.pxd +36 -0
  253. Cython/Plex/Machines.py +238 -0
  254. Cython/Plex/Regexps.py +535 -0
  255. Cython/Plex/Scanners.cp315-win_amd64.pyd +0 -0
  256. Cython/Plex/Scanners.pxd +45 -0
  257. Cython/Plex/Scanners.py +328 -0
  258. Cython/Plex/Transitions.cp315-win_amd64.pyd +0 -0
  259. Cython/Plex/Transitions.pxd +14 -0
  260. Cython/Plex/Transitions.py +239 -0
  261. Cython/Plex/__init__.py +34 -0
  262. Cython/Runtime/__init__.py +1 -0
  263. Cython/Runtime/refnanny.cp315-win_amd64.pyd +0 -0
  264. Cython/Runtime/refnanny.pyx +237 -0
  265. Cython/Shadow.py +1167 -0
  266. Cython/StringIOTree.cp315-win_amd64.pyd +0 -0
  267. Cython/StringIOTree.py +169 -0
  268. Cython/Tempita/__init__.py +4 -0
  269. Cython/Tempita/_looper.py +154 -0
  270. Cython/Tempita/_tempita.cp315-win_amd64.pyd +0 -0
  271. Cython/Tempita/_tempita.py +1087 -0
  272. Cython/TestUtils.py +464 -0
  273. Cython/Tests/TestCodeWriter.py +128 -0
  274. Cython/Tests/TestCythonUtils.py +202 -0
  275. Cython/Tests/TestJediTyper.py +223 -0
  276. Cython/Tests/TestShadow.py +110 -0
  277. Cython/Tests/TestStringIOTree.py +68 -0
  278. Cython/Tests/TestTestUtils.py +89 -0
  279. Cython/Tests/__init__.py +1 -0
  280. Cython/Tests/xmlrunner.py +390 -0
  281. Cython/Utility/AsyncGen.c +1073 -0
  282. Cython/Utility/Buffer.c +866 -0
  283. Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
  284. Cython/Utility/Builtins.c +933 -0
  285. Cython/Utility/CConvert.pyx +149 -0
  286. Cython/Utility/CMath.c +104 -0
  287. Cython/Utility/CommonStructures.c +244 -0
  288. Cython/Utility/Complex.c +378 -0
  289. Cython/Utility/Coroutine.c +2337 -0
  290. Cython/Utility/CpdefEnums.pyx +107 -0
  291. Cython/Utility/CppConvert.pyx +282 -0
  292. Cython/Utility/CppSupport.cpp +151 -0
  293. Cython/Utility/CythonFunction.c +2072 -0
  294. Cython/Utility/Dataclasses.c +101 -0
  295. Cython/Utility/Embed.c +129 -0
  296. Cython/Utility/Exceptions.c +1038 -0
  297. Cython/Utility/ExtensionTypes.c +1158 -0
  298. Cython/Utility/FunctionArguments.c +1045 -0
  299. Cython/Utility/FusedFunction.pyx +44 -0
  300. Cython/Utility/ImportExport.c +930 -0
  301. Cython/Utility/MatchCase.c +979 -0
  302. Cython/Utility/MatchCase_Cy.pyx +12 -0
  303. Cython/Utility/MemoryView.pxd +108 -0
  304. Cython/Utility/MemoryView.pyx +1499 -0
  305. Cython/Utility/MemoryView_C.c +1056 -0
  306. Cython/Utility/ModuleSetupCode.c +3352 -0
  307. Cython/Utility/NumpyImportArray.c +46 -0
  308. Cython/Utility/ObjectHandling.c +3372 -0
  309. Cython/Utility/Optimize.c +2563 -0
  310. Cython/Utility/Overflow.c +378 -0
  311. Cython/Utility/Profile.c +736 -0
  312. Cython/Utility/StringTools.c +1414 -0
  313. Cython/Utility/Synchronization.c +438 -0
  314. Cython/Utility/TString.c +369 -0
  315. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  316. Cython/Utility/TestCythonScope.pyx +75 -0
  317. Cython/Utility/TestUtilityLoader.c +12 -0
  318. Cython/Utility/TypeConversion.c +1556 -0
  319. Cython/Utility/UFuncs.pyx +50 -0
  320. Cython/Utility/UFuncs_C.c +89 -0
  321. Cython/Utility/__init__.py +28 -0
  322. Cython/Utility/arrayarray.h +172 -0
  323. Cython/Utils.cp315-win_amd64.pyd +0 -0
  324. Cython/Utils.py +677 -0
  325. Cython/__init__.py +12 -0
  326. Cython/py.typed +0 -0
  327. cython-3.3.0a1.dist-info/METADATA +394 -0
  328. cython-3.3.0a1.dist-info/RECORD +335 -0
  329. cython-3.3.0a1.dist-info/WHEEL +5 -0
  330. cython-3.3.0a1.dist-info/entry_points.txt +4 -0
  331. cython-3.3.0a1.dist-info/top_level.txt +3 -0
  332. cython.py +29 -0
  333. pyximport/__init__.py +4 -0
  334. pyximport/pyxbuild.py +160 -0
  335. 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]&)