For a specialization conjunction<B1, β¦, BN>,
if there is a template type argument Bi
for which bool(Biβ::βvalue) is false,
then instantiating conjunction<B1, β¦, BN>β::βvalue
does not require the instantiation of Bjβ::βvalue for j>i.
Every template type argument
for which Biβ::βvalue is instantiated
shall be usable as a base class and
shall have a member value which
is convertible to bool,
is not hidden, and
is unambiguously available in the type.
For a specialization disjunction<B1, β¦, BN>,
if there is a template type argument Bi
for which bool(Biβ::βvalue) is true,
then instantiating disjunction<B1, β¦, BN>β::βvalue
does not require the instantiation of Bjβ::βvalue for j>i.
Every template type argument
for which Biβ::βvalue is instantiated
shall be usable as a base class and
shall have a member value which
is convertible to bool,
is not hidden, and
is unambiguously available in the type.