chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Currently Cython does not support std::optional.
|
||||
# See: https://github.com/cython/cython/pull/3294
|
||||
from libcpp cimport bool
|
||||
|
||||
cdef extern from "<optional>" namespace "std" nogil:
|
||||
cdef cppclass nullopt_t:
|
||||
nullopt_t()
|
||||
|
||||
cdef nullopt_t nullopt
|
||||
|
||||
cdef cppclass optional[T]:
|
||||
ctypedef T value_type
|
||||
optional()
|
||||
optional(nullopt_t)
|
||||
optional(optional&) except +
|
||||
optional(T&) except +
|
||||
bool has_value()
|
||||
T& value()
|
||||
T& value_or[U](U& default_value)
|
||||
void swap(optional&)
|
||||
void reset()
|
||||
T& emplace(...)
|
||||
T& operator*()
|
||||
# T* operator->() # Not Supported
|
||||
optional& operator=(optional&)
|
||||
optional& operator=[U](U&)
|
||||
bool operator bool()
|
||||
bool operator!()
|
||||
bool operator==[U](optional&, U&)
|
||||
bool operator!=[U](optional&, U&)
|
||||
bool operator<[U](optional&, U&)
|
||||
bool operator>[U](optional&, U&)
|
||||
bool operator<=[U](optional&, U&)
|
||||
bool operator>=[U](optional&, U&)
|
||||
|
||||
optional[T] make_optional[T](...) except +
|
||||
Reference in New Issue
Block a user