Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:30:42

0001 // (C) Copyright David Abrahams 2001.
0002 // Distributed under the Boost Software License, Version 1.0. (See
0003 // accompanying file LICENSE_1_0.txt or copy at
0004 // http://www.boost.org/LICENSE_1_0.txt)
0005 //
0006 // See http://www.boost.org for most recent version including documentation.
0007 
0008 // Revision History
0009 // 09 Feb 01  Applied John Maddock's Borland patch Moving <true>
0010 //            specialization to unspecialized template (David Abrahams)
0011 // 06 Feb 01  Created (David Abrahams)
0012 
0013 #ifndef SELECT_TYPE_DWA20010206_HPP
0014 # define SELECT_TYPE_DWA20010206_HPP
0015 
0016 namespace boost { namespace detail {
0017 
0018   // Template class if_true -- select among 2 types based on a bool constant expression
0019   // Usage:
0020   //   typename if_true<(bool_const_expression)>::template then<true_type, false_type>::type
0021 
0022   // HP aCC cannot deal with missing names for template value parameters
0023   template <bool b> struct if_true
0024   {
0025       template <class T, class F>
0026       struct then { typedef T type; };
0027   };
0028 
0029   template <>
0030   struct if_true<false>
0031   {
0032       template <class T, class F>
0033       struct then { typedef F type; };
0034   };
0035 }}
0036 #endif // SELECT_TYPE_DWA20010206_HPP