1 /* Copyright 2003-2013 Joaquin M Lopez Munoz. 2 * Distributed under the Boost Software License, Version 1.0. 3 * (See accompanying file LICENSE_1_0.txt or copy at 4 * http://www.boost.org/LICENSE_1_0.txt) 5 * 6 * See http://www.boost.org/libs/multi_index for library home page. 7 */ 8 9 #ifndef BOOST_MULTI_INDEX_DETAIL_ADL_SWAP_HPP 10 #define BOOST_MULTI_INDEX_DETAIL_ADL_SWAP_HPP 11 12 #if defined(_MSC_VER) 13 #pragma once 14 #endif 15 16 #include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */ 17 #include <algorithm> 18 19 namespace boost{ 20 21 namespace multi_index{ 22 23 namespace detail{ 24 25 template<typename T> adl_swap(T & x,T & y)26void adl_swap(T& x,T& y) 27 { 28 29 #if !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) 30 using std::swap; 31 swap(x,y); 32 #else 33 std::swap(x,y); 34 #endif 35 36 } 37 38 } /* namespace multi_index::detail */ 39 40 } /* namespace multi_index */ 41 42 } /* namespace boost */ 43 44 #endif 45