28 #ifndef INCLUDED_Or_h_GUID_2D16A5C5_4937_4695_30A8_842C5DD4B2C7
29 #define INCLUDED_Or_h_GUID_2D16A5C5_4937_4695_30A8_842C5DD4B2C7
39 #include <type_traits>
46 template <
typename... Bools>
struct or_impl;
48 template <>
struct or_impl<> : std::false_type {};
50 template <
typename Bool,
typename... Bools>
51 struct or_impl<Bool, Bools...>
52 :
if_c<Bool::type::value, std::true_type, or_impl<Bools...>> {};
58 template <
typename... Bools>
using or_ =
t_<detail::or_impl<Bools...>>;
62 #endif // INCLUDED_Or_h_GUID_2D16A5C5_4937_4695_30A8_842C5DD4B2C7
t_< detail::or_impl< Bools...>> or_
The main namespace for all C++ elements of the framework, internal and external.
typename T::type t_
A convenience alias template to extract the nested type within the supplied T.
t_< detail::if_impl< bool_< If >, Args...>> if_c
Select one type or another depending on a compile-time Boolean value.