1 // (C) Copyright John Maddock 2010. 2 // Use, modification and distribution are subject to the Boost Software License, 3 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 4 // http://www.boost.org/LICENSE_1_0.txt). 5 // 6 // See http://www.boost.org/libs/type_traits for most recent version including documentation. 7 8 9 #ifndef BOOST_TT_CONDITIONAL_HPP_INCLUDED 10 #define BOOST_TT_CONDITIONAL_HPP_INCLUDED 11 12 namespace boost { 13 14 template <bool b, class T, class U> struct conditional { typedef T type; }; 15 template <class T, class U> struct conditional<false, T, U> { typedef U type; }; 16 17 #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) 18 19 template <bool b, class T, class U> using conditional_t = typename conditional<b, T, U>::type; 20 21 #endif 22 23 } // namespace boost 24 25 26 #endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED 27