aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-03-15 19:59:12 +0300
committeralexv-smirnov <alex@ydb.tech>2023-03-15 19:59:12 +0300
commit056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11 (patch)
tree4740980126f32e3af7937ba0ca5f83e59baa4ab0 /contrib/tools/cython/Cython/Includes/libcpp/utility.pxd
parent269126dcced1cc8b53eb4398b4a33e5142f10290 (diff)
downloadydb-056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11.tar.gz
add library/cpp/actors, ymake build to ydb oss export
Diffstat (limited to 'contrib/tools/cython/Cython/Includes/libcpp/utility.pxd')
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/utility.pxd30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd b/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd
new file mode 100644
index 0000000000..e0df69b166
--- /dev/null
+++ b/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd
@@ -0,0 +1,30 @@
+cdef extern from "<utility>" namespace "std" nogil:
+ cdef cppclass pair[T, U]:
+ ctypedef T first_type
+ ctypedef U second_type
+ T first
+ U second
+ pair() except +
+ pair(pair&) except +
+ pair(T&, U&) except +
+ bint operator==(pair&, pair&)
+ bint operator!=(pair&, pair&)
+ bint operator<(pair&, pair&)
+ bint operator>(pair&, pair&)
+ bint operator<=(pair&, pair&)
+ bint operator>=(pair&, pair&)
+
+cdef extern from * namespace "cython_std" nogil:
+ """
+ #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
+ // move should be defined for these versions of MSVC, but __cplusplus isn't set usefully
+ #include <type_traits>
+
+ namespace cython_std {
+ template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
+ template <typename T> typename std::remove_reference<T>::type&& move(T&& t) noexcept { return std::move(t); }
+ }
+
+ #endif
+ """
+ cdef T move[T](T)