Loading [MathJax]/extensions/tex2jax.js
E.V.E
v2023.02.15
 
All Classes Namespaces Functions Variables Typedefs Enumerations Friends Modules Pages Concepts
Loading...
Searching...
No Matches
Type traits

Detailed Description

Using EVE types and functions may require informations about some properties of the processed types that are accessible through the following traits.

Convenience header:

#include <eve/traits.hpp>

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::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.