E.V.E
v2022.09.01
Algorithms and Views

Detailed Description

Algorithms and Views.

This module provides implementation of SIMD versions of some std ranges algorithms. Take care that some prerequisite and syntaxes are not fully standard conformant

Required header:

#include <eve/algo.hpp>

Modules

 Algorithms
 Provides SIMD implementation of standard algorithms.
 
 Concepts
 Provides Concepts for algorithms and related components.
 
 Views
 Provides views to work with SIMD algorihms.
 

Classes

struct  eve::algo::ptr_iterator< Ptr, Cardinal >
 An eve iterator on top of pointer or aligned pointer. More...
 
struct  eve::algo::range_ref_wrapper< Rng >
 a non_owning_range wrapper around owning range. Should be created via range_ref More...
 

Variables

constexpr auto eve::algo::fill = function_with_traits<fill_>[default_simple_algo_traits]
 a version of std::fill
 
constexpr auto eve::algo::for_each = function_with_traits<for_each_>
 a basic for_each algorithm. More...
 
constexpr auto eve::algo::iota = function_with_traits<iota_>[copy.get_traits()]
 SIMD version of std::iota For conversion/overflow behaviour, should follow the standard. More...
 
constexpr range_ref_ eve::algo::range_ref
 for a non_owning_range returns it, otherwise returns a range_ref_wrapper. More...
 
constexpr auto eve::algo::reverse = function_with_traits<reverse_>[algo::unroll<1>][no_aligning]
 SIMD version of std::reverse. More...
 
constexpr auto eve::algo::reverse_copy = function_with_traits<reverse_copy_>[algo::unroll<1>]
 SIMD version of std::reverse_copy. More...
 
constexpr auto eve::algo::swap_ranges = function_with_traits<swap_ranges_>[default_simple_algo_traits]
 SIMD version of std::swap_ranges. More...
 
constexpr auto eve::algo::no_aligning = ::rbr::flag( no_aligning_tag{} )
 Traits for disabling alignment handling in algorithm. More...
 
constexpr auto eve::algo::transform_inplace = function_with_traits<transform_inplace_>[default_simple_algo_traits]
 same as; More...
 
constexpr auto eve::algo::transform_to = function_with_traits<transform_to_>[default_simple_algo_traits]
 SIMD version of std::transform. More...