python-cnorxz/cnorxz/core/array.pxd

61 lines
2 KiB
Cython
Raw Normal View History

2023-05-07 21:28:30 +02:00
from libcpp.memory cimport shared_ptr
from range cimport cpp_RangeBase
2023-05-09 19:31:05 +02:00
from index cimport cpp_YIndex
2023-05-07 21:28:30 +02:00
2023-05-08 22:28:31 +02:00
cdef extern from "array/array.h" namespace "CNORXZ":
2023-05-09 19:31:05 +02:00
cdef cppclass cpp_AIndex "CNORXZ::AIndex" [T] (cpp_YIndex):
cpp_AIndex() except+
cpp_AIndex(const cpp_AIndex&) except+
cpp_AIndex(const T*, const shared_ptr[cpp_RangeBase]&, size_t lexpos) except+
cpp_AIndex(const T*, const cpp_YIndex&) except+
cpp_AIndex A_plus "operator+" (int n) except+
cpp_AIndex A_minus "operator-" (int n) except+
const T& A_get "operator*" () except+
cdef extern from "array/array.h" namespace "CNORXZ":
cdef cppclass cpp_BIndex "CNORXZ::BIndex" [T] (cpp_AIndex[T]):
cpp_BIndex() except+
cpp_BIndex(const cpp_AIndex[T]&) except+
cpp_BIndex(const T*, const shared_ptr[cpp_RangeBase]&, size_t lexpos) except+
cpp_BIndex(const T*, const cpp_AIndex[T]&) except+
cpp_BIndex B_plus "operator+" (int n) except+
cpp_BIndex B_minus "operator-" (int n) except+
T& B_get "operator*" () except+
2023-05-08 22:28:31 +02:00
2023-05-09 19:31:05 +02:00
cdef extern from "array/array.h" namespace "CNORXZ":
cdef cppclass cpp_CArrayBase "CNORXZ::CArrayBase" [T]:
2023-05-08 22:28:31 +02:00
cpp_CArrayBase() except+
cpp_CArrayBase(const cpp_CArrayBase[T]&) except+
2023-05-07 21:28:30 +02:00
size_t size() except+
2023-05-08 22:28:31 +02:00
shared_ptr[cpp_RangeBase] range() except+
2023-05-09 19:31:05 +02:00
cpp_AIndex[T] begin() except+
cpp_AIndex[T] end() except+
2023-05-08 22:28:31 +02:00
2023-05-09 19:31:05 +02:00
2023-05-08 22:28:31 +02:00
cdef extern from "array/array.h" namespace "CNORXZ":
2023-05-09 19:31:05 +02:00
cdef cppclass cpp_ArrayBase "CNORXZ::ArrayBase" [T] (cpp_CArrayBase[T]):
cpp_ArrayBase() except+
cpp_ArrayBase(const cpp_ArrayBase[T]&) except+
cpp_BIndex[T] begin() except+
cpp_BIndex[T] end() except+
2023-05-08 22:28:31 +02:00
2023-05-09 19:31:05 +02:00
cdef extern from "array/array.h" namespace "CNORXZ":
cdef cppclass cpp_MArray "CNORXZ::MArray" [T] (cpp_ArrayBase[T]):
2023-05-08 22:28:31 +02:00
cpp_MArray() except+
cpp_MArray(const cpp_MArray[T]&) except+
2023-05-07 21:28:30 +02:00
2023-05-08 22:28:31 +02:00
cpp_MArray(const shared_ptr[cpp_RangeBase]&) except+
2023-05-09 19:31:05 +02:00