Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:53:32

0001 //-----------------------------------------------------------------------------
0002 // boost variant/detail/move.hpp header file
0003 // See http://www.boost.org for updates, documentation, and revision history.
0004 //-----------------------------------------------------------------------------
0005 //
0006 //  Copyright (c) 2002-2003 Eric Friedman
0007 //  Copyright (c) 2002 by Andrei Alexandrescu
0008 //  Copyright (c) 2013-2023 Antony Polukhin
0009 //
0010 //  Use, modification and distribution are subject to the
0011 //  Boost Software License, Version 1.0. (See accompanying file
0012 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0013 //
0014 //  This file derivative of MoJO. Much thanks to Andrei for his initial work.
0015 //  See <http://www.cuj.com/experts/2102/alexandr.htm> for information on MOJO.
0016 //  Re-issued here under the Boost Software License, with permission of the original
0017 //  author (Andrei Alexandrescu).
0018 
0019 
0020 #ifndef BOOST_VARIANT_DETAIL_MOVE_HPP
0021 #define BOOST_VARIANT_DETAIL_MOVE_HPP
0022 
0023 #include <boost/config.hpp>
0024 #include <boost/detail/workaround.hpp>
0025 #include <utility>
0026 
0027 namespace boost { namespace detail { namespace variant {
0028 
0029 using std::move;
0030 
0031 //////////////////////////////////////////////////////////////////////////
0032 // function template move_swap
0033 //
0034 // Swaps using Koenig lookup but falls back to move-swap for primitive
0035 // types and on non-conforming compilers.
0036 //
0037 
0038 template <typename T>
0039 inline void move_swap(T& lhs, T& rhs)
0040 {
0041     using std::swap;
0042     swap(lhs, rhs);
0043 }
0044 
0045 }}} // namespace boost::detail::variant
0046 
0047 #endif // BOOST_VARIANT_DETAIL_MOVE_HPP
0048 
0049 
0050