Home | History | Annotate | Download | only in mpl
      1 
      2 #ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED
      3 #define BOOST_MPL_IDENTITY_HPP_INCLUDED
      4 
      5 // Copyright Aleksey Gurtovoy 2000-2004
      6 //
      7 // Distributed under the Boost Software License, Version 1.0.
      8 // (See accompanying file LICENSE_1_0.txt or copy at
      9 // http://www.boost.org/LICENSE_1_0.txt)
     10 //
     11 // See http://www.boost.org/libs/mpl for documentation.
     12 
     13 // $Id: identity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
     14 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
     15 // $Revision: 49267 $
     16 
     17 #include <boost/mpl/aux_/na_spec.hpp>
     18 #include <boost/mpl/aux_/lambda_support.hpp>
     19 
     20 namespace boost { namespace mpl {
     21 
     22 template<
     23       typename BOOST_MPL_AUX_NA_PARAM(T)
     24     >
     25 struct identity
     26 {
     27     typedef T type;
     28     BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T))
     29 };
     30 
     31 template<
     32       typename BOOST_MPL_AUX_NA_PARAM(T)
     33     >
     34 struct make_identity
     35 {
     36     typedef identity<T> type;
     37     BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T))
     38 };
     39 
     40 BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity)
     41 BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity)
     42 
     43 }}
     44 
     45 #endif // BOOST_MPL_IDENTITY_HPP_INCLUDED
     46