Using EVE types and functions may require informations about some properties of the processed types that are accessible through the following traits.
Convenience header:
Classes | |
| struct | eve::abi< Type, Lanes > |
| Find proper ABI for Type/Lanes pair. More... | |
| struct | eve::as< T > |
| Lightweight type-wrapper. More... | |
| struct | eve::as_element< T > |
| Lightweight type-wrapper over element type. More... | |
| struct | eve::cardinal< Type > |
| Computes the cardinal of a given type. More... | |
| struct | eve::common_compatible< Ts > |
| Computes the type compatible with a list of values. More... | |
| struct | eve::common_type< Ts > |
| Computes a type that can represent all values in a list of types. More... | |
| struct | eve::comparisons< T > |
| Extension point for ordering and equality computation. More... | |
| struct | eve::element_type< T > |
| Extracts the scalar part of a type. More... | |
| struct | eve::underlying_type< Ts > |
| Computes the most scalar type associated with a type. More... | |
Typedefs | |
| template<typename T> | |
| using | eve::iterator_cardinal_t = decltype(detail::iterator_cardinal_impl<T>()) |
| A meta-function that returns a cardinal for a relaxed iterator/range. If T defines a nested static function iterator_cardinal() (which should return eve::fixed). | |
| template<typename T> | |
| using | eve::value_type_t = typename decltype(detail::value_type_impl<T>())::type |
| A meta function for getting an associated value_type for a relaxed iterator/range. | |
| template<typename T> | |
| using | eve::wide_value_type_t = as_wide_t<value_type_t<T>, iterator_cardinal_t<T>> |
Variables | |
| template<typename T> | |
| constexpr std::size_t | eve::max_scalar_size_v |
| A meta function for getting a maximum size of scalar. | |