89 lines
3.3 KiB
Cython
89 lines
3.3 KiB
Cython
cdef extern from "<vector>" namespace "std" nogil:
|
|
cdef cppclass vector[T,ALLOCATOR=*]:
|
|
ctypedef T value_type
|
|
ctypedef ALLOCATOR allocator_type
|
|
|
|
# these should really be allocator_type.size_type and
|
|
# allocator_type.difference_type to be true to the C++ definition
|
|
# but cython doesn't support deferred access on template arguments
|
|
ctypedef size_t size_type
|
|
ctypedef ptrdiff_t difference_type
|
|
|
|
cppclass iterator:
|
|
T& operator*()
|
|
iterator operator++()
|
|
iterator operator--()
|
|
iterator operator+(size_type)
|
|
iterator operator-(size_type)
|
|
difference_type operator-(iterator)
|
|
bint operator==(iterator)
|
|
bint operator!=(iterator)
|
|
bint operator<(iterator)
|
|
bint operator>(iterator)
|
|
bint operator<=(iterator)
|
|
bint operator>=(iterator)
|
|
cppclass reverse_iterator:
|
|
T& operator*()
|
|
reverse_iterator operator++()
|
|
reverse_iterator operator--()
|
|
reverse_iterator operator+(size_type)
|
|
reverse_iterator operator-(size_type)
|
|
difference_type operator-(reverse_iterator)
|
|
bint operator==(reverse_iterator)
|
|
bint operator!=(reverse_iterator)
|
|
bint operator<(reverse_iterator)
|
|
bint operator>(reverse_iterator)
|
|
bint operator<=(reverse_iterator)
|
|
bint operator>=(reverse_iterator)
|
|
cppclass const_iterator(iterator):
|
|
pass
|
|
cppclass const_reverse_iterator(reverse_iterator):
|
|
pass
|
|
vector() except +
|
|
vector(vector&) except +
|
|
vector(size_type) except +
|
|
vector(size_type, T&) except +
|
|
#vector[input_iterator](input_iterator, input_iterator)
|
|
T& operator[](size_type)
|
|
#vector& operator=(vector&)
|
|
bint operator==(vector&, vector&)
|
|
bint operator!=(vector&, vector&)
|
|
bint operator<(vector&, vector&)
|
|
bint operator>(vector&, vector&)
|
|
bint operator<=(vector&, vector&)
|
|
bint operator>=(vector&, vector&)
|
|
void assign(size_type, const T&)
|
|
void assign[input_iterator](input_iterator, input_iterator) except +
|
|
T& at(size_type) except +
|
|
T& back()
|
|
iterator begin()
|
|
const_iterator const_begin "begin"()
|
|
size_type capacity()
|
|
void clear()
|
|
bint empty()
|
|
iterator end()
|
|
const_iterator const_end "end"()
|
|
iterator erase(iterator)
|
|
iterator erase(iterator, iterator)
|
|
T& front()
|
|
iterator insert(iterator, const T&) except +
|
|
iterator insert(iterator, size_type, const T&) except +
|
|
iterator insert[Iter](iterator, Iter, Iter) except +
|
|
size_type max_size()
|
|
void pop_back()
|
|
void push_back(T&) except +
|
|
reverse_iterator rbegin()
|
|
const_reverse_iterator const_rbegin "crbegin"()
|
|
reverse_iterator rend()
|
|
const_reverse_iterator const_rend "crend"()
|
|
void reserve(size_type)
|
|
void resize(size_type) except +
|
|
void resize(size_type, T&) except +
|
|
size_type size()
|
|
void swap(vector&)
|
|
|
|
# C++11 methods
|
|
T* data()
|
|
const T* const_data "data"()
|
|
void shrink_to_fit()
|