1 2 #ifndef BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED 3 #define BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED 4 5 // Copyright Peter Dimov and Multi Media Ltd 2001, 2002 6 // Copyright David Abrahams 2001 7 // 8 // Distributed under the Boost Software License, Version 1.0. 9 // (See accompanying file LICENSE_1_0.txt or copy at 10 // http://www.boost.org/LICENSE_1_0.txt) 11 // 12 // See http://www.boost.org/libs/mpl for documentation. 13 14 // $Id: unwrap.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ 15 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $ 16 // $Revision: 49267 $ 17 18 #include <boost/ref.hpp> 19 20 namespace boost { namespace mpl { namespace aux { 21 22 template< typename F > 23 inline unwrap(F & f,long)24F& unwrap(F& f, long) 25 { 26 return f; 27 } 28 29 template< typename F > 30 inline 31 F& unwrap(reference_wrapper<F> & f,int)32unwrap(reference_wrapper<F>& f, int) 33 { 34 return f; 35 } 36 37 template< typename F > 38 inline 39 F& unwrap(reference_wrapper<F> const & f,int)40unwrap(reference_wrapper<F> const& f, int) 41 { 42 return f; 43 } 44 45 }}} 46 47 #endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED 48