Logical Struct Reference

Description

A Logical type is representing a boolean value while keeping track of the type used to generate those boolean.

Requirements

A type T satisfies Logical if it refines Regular, is convertible to bool and if :

  • T::value_type evaluates to a Vectorizable type that represent the original type used to generate this instance of T.
  • T is constructible from any type convertible to bool
  • For any a of type T and any u of any type convertible to bool, a = u is a valid expression of Logical type
  • For any a of type T, !a is a valid expression of Logical type
  • For any a of type T, ~a is a valid expression of Logical type
  • For any a and b of type T, a && b is a valid expression of Logical type
  • For any a and b of type T, a || b is a valid expression of Logical type
Example
  • boost::simd::logical<short>