• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)24 F& unwrap(F& f, long)
25 {
26     return f;
27 }
28 
29 template< typename F >
30 inline
31 F&
unwrap(reference_wrapper<F> & f,int)32 unwrap(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)40 unwrap(reference_wrapper<F> const& f, int)
41 {
42     return f;
43 }
44 
45 }}}
46 
47 #endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
48