229 lines
9.0 KiB
Cython
229 lines
9.0 KiB
Cython
from .utility cimport pair
|
|
|
|
cdef extern from "<set>" namespace "std" nogil:
|
|
cdef cppclass set[T]:
|
|
ctypedef T value_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 const_iterator
|
|
cppclass iterator:
|
|
iterator() except +
|
|
iterator(iterator&) except +
|
|
value_type& operator*()
|
|
iterator operator++()
|
|
iterator operator--()
|
|
iterator operator++(int)
|
|
iterator operator--(int)
|
|
bint operator==(iterator)
|
|
bint operator==(const_iterator)
|
|
bint operator!=(iterator)
|
|
bint operator!=(const_iterator)
|
|
cppclass const_iterator:
|
|
const_iterator() except +
|
|
const_iterator(iterator&) except +
|
|
const_iterator(const_iterator&) except +
|
|
operator=(iterator&) except +
|
|
const value_type& operator*()
|
|
const_iterator operator++()
|
|
const_iterator operator--()
|
|
const_iterator operator++(int)
|
|
const_iterator operator--(int)
|
|
bint operator==(iterator)
|
|
bint operator==(const_iterator)
|
|
bint operator!=(iterator)
|
|
bint operator!=(const_iterator)
|
|
|
|
cppclass const_reverse_iterator
|
|
cppclass reverse_iterator:
|
|
reverse_iterator() except +
|
|
reverse_iterator(reverse_iterator&) except +
|
|
value_type& operator*()
|
|
reverse_iterator operator++()
|
|
reverse_iterator operator--()
|
|
reverse_iterator operator++(int)
|
|
reverse_iterator operator--(int)
|
|
bint operator==(reverse_iterator)
|
|
bint operator==(const_reverse_iterator)
|
|
bint operator!=(reverse_iterator)
|
|
bint operator!=(const_reverse_iterator)
|
|
cppclass const_reverse_iterator:
|
|
const_reverse_iterator() except +
|
|
const_reverse_iterator(reverse_iterator&) except +
|
|
operator=(reverse_iterator&) except +
|
|
const value_type& operator*()
|
|
const_reverse_iterator operator++()
|
|
const_reverse_iterator operator--()
|
|
const_reverse_iterator operator++(int)
|
|
const_reverse_iterator operator--(int)
|
|
bint operator==(reverse_iterator)
|
|
bint operator==(const_reverse_iterator)
|
|
bint operator!=(reverse_iterator)
|
|
bint operator!=(const_reverse_iterator)
|
|
|
|
set() except +
|
|
set(set&) except +
|
|
#set(key_compare&)
|
|
#set& operator=(set&)
|
|
bint operator==(set&, set&)
|
|
bint operator!=(set&, set&)
|
|
bint operator<(set&, set&)
|
|
bint operator>(set&, set&)
|
|
bint operator<=(set&, set&)
|
|
bint operator>=(set&, set&)
|
|
iterator begin()
|
|
const_iterator const_begin "begin"()
|
|
const_iterator cbegin()
|
|
void clear()
|
|
size_t count(const T&)
|
|
bint empty()
|
|
iterator end()
|
|
const_iterator const_end "end"()
|
|
const_iterator cend()
|
|
pair[iterator, iterator] equal_range(const T&)
|
|
pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
|
|
iterator erase(iterator)
|
|
iterator const_erase "erase"(const_iterator)
|
|
iterator erase(const_iterator, const_iterator)
|
|
size_t erase(const T&)
|
|
iterator find(const T&)
|
|
const_iterator const_find "find"(const T&)
|
|
pair[iterator, bint] insert(const T&) except +
|
|
iterator insert(iterator, const T&) except +
|
|
iterator insert(const_iterator, const T&) except +
|
|
iterator const_insert "insert"(const_iterator, const T&) except +
|
|
void insert[InputIt](InputIt, InputIt) except +
|
|
#key_compare key_comp()
|
|
iterator lower_bound(const T&)
|
|
const_iterator const_lower_bound "lower_bound"(const T&)
|
|
size_t max_size()
|
|
reverse_iterator rbegin()
|
|
const_reverse_iterator const_rbegin "rbegin"()
|
|
const_reverse_iterator crbegin()
|
|
reverse_iterator rend()
|
|
const_reverse_iterator const_rend "rend"()
|
|
const_reverse_iterator crend()
|
|
size_t size()
|
|
void swap(set&)
|
|
iterator upper_bound(const T&)
|
|
const_iterator const_upper_bound "upper_bound"(const T&)
|
|
#value_compare value_comp()
|
|
# C++20
|
|
bint contains(const T&)
|
|
|
|
cdef cppclass multiset[T]:
|
|
ctypedef T value_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 const_iterator
|
|
cppclass iterator:
|
|
iterator() except +
|
|
iterator(iterator&) except +
|
|
value_type& operator*()
|
|
iterator operator++()
|
|
iterator operator--()
|
|
iterator operator++(int)
|
|
iterator operator--(int)
|
|
bint operator==(iterator)
|
|
bint operator==(const_iterator)
|
|
bint operator!=(iterator)
|
|
bint operator!=(const_iterator)
|
|
cppclass const_iterator:
|
|
const_iterator() except +
|
|
const_iterator(iterator&) except +
|
|
const_iterator(const_iterator&) except +
|
|
operator=(iterator&) except +
|
|
const value_type& operator*()
|
|
const_iterator operator++()
|
|
const_iterator operator--()
|
|
const_iterator operator++(int)
|
|
const_iterator operator--(int)
|
|
bint operator==(iterator)
|
|
bint operator==(const_iterator)
|
|
bint operator!=(iterator)
|
|
bint operator!=(const_iterator)
|
|
|
|
cppclass const_reverse_iterator
|
|
cppclass reverse_iterator:
|
|
reverse_iterator() except +
|
|
reverse_iterator(reverse_iterator&) except +
|
|
value_type& operator*()
|
|
reverse_iterator operator++()
|
|
reverse_iterator operator--()
|
|
reverse_iterator operator++(int)
|
|
reverse_iterator operator--(int)
|
|
bint operator==(reverse_iterator)
|
|
bint operator==(const_reverse_iterator)
|
|
bint operator!=(reverse_iterator)
|
|
bint operator!=(const_reverse_iterator)
|
|
cppclass const_reverse_iterator:
|
|
const_reverse_iterator() except +
|
|
const_reverse_iterator(reverse_iterator&) except +
|
|
operator=(reverse_iterator&) except +
|
|
const value_type& operator*()
|
|
const_reverse_iterator operator++()
|
|
const_reverse_iterator operator--()
|
|
const_reverse_iterator operator++(int)
|
|
const_reverse_iterator operator--(int)
|
|
bint operator==(reverse_iterator)
|
|
bint operator==(const_reverse_iterator)
|
|
bint operator!=(reverse_iterator)
|
|
bint operator!=(const_reverse_iterator)
|
|
|
|
multiset() except +
|
|
multiset(multiset&) except +
|
|
#multiset(key_compare&)
|
|
#multiset& operator=(multiset&)
|
|
bint operator==(multiset&, multiset&)
|
|
bint operator!=(multiset&, multiset&)
|
|
bint operator<(multiset&, multiset&)
|
|
bint operator>(multiset&, multiset&)
|
|
bint operator<=(multiset&, multiset&)
|
|
bint operator>=(multiset&, multiset&)
|
|
iterator begin()
|
|
const_iterator const_begin "begin"()
|
|
const_iterator cbegin()
|
|
void clear()
|
|
size_t count(const T&)
|
|
bint empty()
|
|
iterator end()
|
|
const_iterator const_end "end"()
|
|
const_iterator cend()
|
|
pair[iterator, iterator] equal_range(const T&)
|
|
pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
|
|
iterator erase(iterator)
|
|
iterator const_erase "erase"(const_iterator)
|
|
iterator erase(const_iterator, const_iterator)
|
|
size_t erase(const T&)
|
|
iterator find(const T&)
|
|
const_iterator const_find "find"(const T&)
|
|
iterator insert(const T&) except +
|
|
iterator insert(iterator, const T&) except +
|
|
iterator const_insert "insert"(const_iterator, const T&) except +
|
|
void insert[InputIt](InputIt, InputIt) except +
|
|
#key_compare key_comp()
|
|
iterator lower_bound(const T&)
|
|
const_iterator const_lower_bound "lower_bound"(const T&)
|
|
size_t max_size()
|
|
reverse_iterator rbegin()
|
|
const_reverse_iterator const_rbegin "rbegin"()
|
|
const_reverse_iterator crbegin()
|
|
reverse_iterator rend()
|
|
const_reverse_iterator const_rend "rend"()
|
|
const_reverse_iterator crend()
|
|
size_t size()
|
|
void swap(multiset&)
|
|
iterator upper_bound(const T&)
|
|
const_iterator const_upper_bound "upper_bound"(const T&)
|
|
# C++20
|
|
bint contains(const T&)
|