Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards



template<class... T>
struct conjunction;

Inherits: Inherits from the first type U in the list for which bool(U::value) is false, or the last type in the list if there is no such type. If sizeof...(T) is 0 then inherits from true_type.

Header: #include <boost/type_traits/conjunction.hpp>

Compiler Compatibility: All current compilers are supported by this trait. In the absence of variadic-template support, conjunction has only 2 parameters.


Given: template<int N> struct Int { static const int value = N };

conjunction<> inherits from true_type.

conjunction<Int<1> > inherits from Int<1>.

conjunction<Int<1>, Int<2>, Int<3> > inherits from Int<3>.

conjunction<Int<1>, Int<0>, Int<3> > inherits from Int<0>.