arg_traits.hh
Go to the documentation of this file.
00001 /* -*- C++ -*-
00002  * $Id: arg_traits.hh 957 2005-03-07 16:01:20Z sjoyeux $
00003  */
00004 #ifndef UTILMM_UTILS_ARG_TRAITS_HEADER
00005 # define UTILMM_UTILS_ARG_TRAITS_HEADER
00006 
00007 #include "boost/type_traits.hpp"
00008 #include "boost/mpl/if.hpp"
00009 
00010 namespace utilmm {
00011   
00025   template<typename Ty>
00026   struct arg_traits {
00027   private:
00028     typedef typename boost::remove_cv<Ty>::type real_type;
00029 
00030     typedef typename boost::mpl::if_c< boost::is_pod<real_type>::value,
00031                                        real_type, 
00032                                        real_type const &>::type computed_type;
00033   public:
00038     typedef computed_type type;
00039     
00040   }; // namespace utilmm::arg_traits<>
00041 
00042 } // namespace utilmm
00043 
00044 #endif // UTILMM_UTILS_ARG_TRAITS_HEADER
00045 


utilmm
Author(s): Sylvain Joyeux/sylvain.joyeux@m4x.org
autogenerated on Wed Sep 16 2015 07:05:43