Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-16 09:26:07

0001 /*==============================================================================
0002     Copyright (c) 2001-2010 Joel de Guzman
0003     Copyright (c) 2010 Thomas Heller
0004 
0005     Distributed under the Boost Software License, Version 1.0. (See accompanying
0006     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 ==============================================================================*/
0008 #ifndef BOOST_PHOENIX_OBJECT_DETAIL_CAST_TARGET_HPP
0009 #define BOOST_PHOENIX_OBJECT_DETAIL_CAST_TARGET_HPP
0010 
0011 namespace boost { namespace phoenix
0012 {
0013     namespace detail
0014     {
0015         template <typename T>
0016         struct target
0017         {
0018             typedef T type;
0019         };
0020 
0021         namespace result_of
0022         {
0023             template <typename T>
0024             struct target
0025             {
0026                 typedef
0027                     typename proto::detail::uncvref<
0028                         typename proto::result_of::value<T>::type
0029                     >::type
0030                     target_type;
0031                 typedef typename target_type::type type;
0032             };
0033 
0034             template <typename T>
0035             struct target<T const&>
0036                 : target<T>
0037             {};
0038 
0039             template <typename T>
0040             struct target<T&>
0041                 : target<T>
0042             {};
0043         }
0044     }
0045 }}
0046 
0047 #endif