from libcpp.memory cimport shared_ptr from array cimport cpp_MArray from range cimport cpp_RangeBase cdef extern from "ranges/ranges.h" namespace "CNORXZ": cdef cppclass cpp_RangeBase "CNORXZ::RangeBase": size_t size() except + size_t dim() except + cpp_MArray[shared_ptr[cpp_RangeBase]] sub() except+