8#ifndef INCLUDED_BSLMF_DISJUNCTION
9#define INCLUDED_BSLMF_DISJUNCTION
54#include <bslscm_version.h>
60#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_BASELINE_LIBRARY
67#if BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
71# define COMPILING_BSLMF_DISJUNCTION_H
73# undef COMPILING_BSLMF_DISJUNCTION_H
78#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_BASELINE_LIBRARY
80using std::disjunction;
81using std::disjunction_v;
90#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
96#ifdef BSLS_COMPILERFEATURES_SUPPORT_VARIADIC_TEMPLATES
112#if !BSLS_COMPILERFEATURES_SIMULATE_CPP11_FEATURES
113template <
class B1,
class B2,
class... Bn>
115 conditional<bool(B1::value), B1, disjunction<B2, Bn...> >::type {
119#ifdef BSLS_COMPILERFEATURES_SUPPORT_VARIABLE_TEMPLATES
122constexpr bool disjunction_v =
disjunction<B...>::value;
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
#define BSLS_KEYWORD_INLINE_VARIABLE
Definition bsls_keyword.h:623
Definition bdlb_printmethods.h:283
Definition bslmf_conditional.h:120
Definition bslmf_disjunction.h:102
Definition bslmf_disjunction.h:92
Definition bslmf_integralconstant.h:244