annotate DEPENDENCIES/generic/include/boost/variant/detail/move.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents c530137014c0
children
rev   line source
Chris@16 1 //-----------------------------------------------------------------------------
Chris@16 2 // boost variant/detail/move.hpp header file
Chris@16 3 // See http://www.boost.org for updates, documentation, and revision history.
Chris@16 4 //-----------------------------------------------------------------------------
Chris@16 5 //
Chris@16 6 // Copyright (c) 2002-2003 Eric Friedman
Chris@16 7 // Copyright (c) 2002 by Andrei Alexandrescu
Chris@101 8 // Copyright (c) 2013-2014 Antony Polukhin
Chris@16 9 //
Chris@16 10 // Use, modification and distribution are subject to the
Chris@16 11 // Boost Software License, Version 1.0. (See accompanying file
Chris@16 12 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 13 //
Chris@16 14 // This file derivative of MoJO. Much thanks to Andrei for his initial work.
Chris@16 15 // See <http://www.cuj.com/experts/2102/alexandr.htm> for information on MOJO.
Chris@16 16 // Re-issued here under the Boost Software License, with permission of the original
Chris@16 17 // author (Andrei Alexandrescu).
Chris@16 18
Chris@16 19
Chris@16 20 #ifndef BOOST_VARIANT_DETAIL_MOVE_HPP
Chris@16 21 #define BOOST_VARIANT_DETAIL_MOVE_HPP
Chris@16 22
Chris@16 23 #include <iterator> // for iterator_traits
Chris@16 24 #include <new> // for placement new
Chris@16 25
Chris@16 26 #include "boost/config.hpp"
Chris@16 27 #include "boost/detail/workaround.hpp"
Chris@16 28 #include "boost/move/move.hpp"
Chris@101 29 #include "boost/move/adl_move_swap.hpp"
Chris@16 30
Chris@101 31 namespace boost { namespace detail { namespace variant {
Chris@16 32
Chris@16 33 using boost::move;
Chris@16 34
Chris@16 35 //////////////////////////////////////////////////////////////////////////
Chris@16 36 // function template move_swap
Chris@16 37 //
Chris@16 38 // Swaps using Koenig lookup but falls back to move-swap for primitive
Chris@16 39 // types and on non-conforming compilers.
Chris@16 40 //
Chris@16 41
Chris@16 42 template <typename T>
Chris@16 43 inline void move_swap(T& lhs, T& rhs)
Chris@16 44 {
Chris@101 45 ::boost::adl_move_swap(lhs, rhs);
Chris@16 46 }
Chris@16 47
Chris@101 48 }}} // namespace boost::detail::variant
Chris@16 49
Chris@16 50 #endif // BOOST_VARIANT_DETAIL_MOVE_HPP
Chris@16 51
Chris@16 52
Chris@16 53