aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/boost/core
diff options
context:
space:
mode:
authorrobot-contrib <robot-contrib@yandex-team.com>2023-04-29 08:56:13 +0300
committerrobot-contrib <robot-contrib@yandex-team.com>2023-04-29 08:56:13 +0300
commit8721a3c0d16b7c607eb00bf95c6d0a676e6f15ca (patch)
tree92d034e91464b0c9a01cc29c8f528828da6bd771 /contrib/restricted/boost/core
parent9b611a5dbbc1d348fbaf973636730d4e71d8c6a9 (diff)
downloadydb-8721a3c0d16b7c607eb00bf95c6d0a676e6f15ca.tar.gz
Update contrib/restricted/boost/locale to 1.82.0
Diffstat (limited to 'contrib/restricted/boost/core')
-rw-r--r--contrib/restricted/boost/core/include/boost/core/exchange.hpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/contrib/restricted/boost/core/include/boost/core/exchange.hpp b/contrib/restricted/boost/core/include/boost/core/exchange.hpp
new file mode 100644
index 0000000000..bc8a9fcd70
--- /dev/null
+++ b/contrib/restricted/boost/core/include/boost/core/exchange.hpp
@@ -0,0 +1,49 @@
+/*
+Copyright 2018 Glen Joseph Fernandes
+(glenjofe@gmail.com)
+
+Distributed under the Boost Software License, Version 1.0.
+(http://www.boost.org/LICENSE_1_0.txt)
+*/
+#ifndef BOOST_CORE_EXCHANGE_HPP
+#define BOOST_CORE_EXCHANGE_HPP
+
+#include <boost/config.hpp>
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#include <boost/config/workaround.hpp>
+#include <utility>
+#endif
+
+namespace boost {
+
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+template<class T, class U>
+inline T exchange(T& t, const U& u)
+{
+ T v = t;
+ t = u;
+ return v;
+}
+#else
+#if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
+template<class T, class U>
+inline T exchange(T& t, U&& u)
+{
+ T v = std::move(t);
+ t = std::forward<U>(u);
+ return v;
+}
+#else
+template<class T, class U = T>
+BOOST_CXX14_CONSTEXPR inline T exchange(T& t, U&& u)
+{
+ T v = std::move(t);
+ t = std::forward<U>(u);
+ return v;
+}
+#endif
+#endif
+
+} /* boost */
+
+#endif