| ▼Neve | |
| ▼Nalgo | |
| ▼Nviews | |
| Cbackward_iterator | An adapter over a relaxed_iterator that replaces going forward with going backward. For semantic of reverse you should use eve::algo::views::reverse this is just a helper to do backward algorithms. Should be created by a call to eve::algo::views::backward |
| Cbackward_range | An adapter over a relaxed_range that replaces going forward with going backward. For semantic of reverse you should use eve::algo::views::reverse this is just a helper to do backward algorithms. Should be created by a call to eve::algo::views::backward |
| Cconverting_iterator | An adapter over a relaxed_iterator that converts it's values to T. Should be created via convert |
| Cconverting_range | An adapter over a relaxed_range that converts it's values to T. Should be created via convert |
| Ciota_with_step_iterator | An iterator for all values from base to offset. Should be created with iota_with_step or iota. Not OK to compare two iterators generated from a different base |
| Cmap_iterator | An iterator for map, map_convert. Should be created with one of those functions. If one of the operations is not avaliable, it's eve::algo::nothing_t |
| Cmap_range | A range for map, map_covnert. Should be created via one of those functions. If the store operation is not avaliable, it's eve::algo::nothing_t |
| Creverse_iterator | An adapter over a relaxed_iterator that allows to iterate in the reverse order. Should be created by a call to eve::algo::views::reverse |
| Creverse_range | An adapter over a relaxed_range that allows to iterate in the reverse order. Should be created by a call to eve::algo::views::reverse. NOTE: at this point convert(reverse) will not do anything smart |
| Czip_iterator | A relaxed_iterator on top of multiple relaxed_iterator. If all of the components are iterator they have to have the same cardinal and the zip_iterator will model iterator. Should probably never be created directly, use zip |
| Czip_range | A relaxed_range on top of multiple relaxed_range. All individual components have to have the same size. Should probably never be created directly, instead use zip |
| Cnothing_t | Type to indicate that there is nothing there |
| Cptr_iterator | An eve iterator on top of pointer or aligned pointer |
| Crange_ref_wrapper | Non_owning_range wrapper around owning range. Should be created via range_ref |
| Cabi | Find proper ABI for Type/Lanes pair |
| ▼Caligned_allocator | Standard-compliant allocator handling the allocation and deallocation of segment of aligned memory |
| Crebind | Convert an aligned_allocator type to another |
| Caligned_ptr | Wrapper for non-owning aligned pointers |
| Cas | Lightweight type-wrapper |
| Cas_pattern | Formula-based pattern holder |
| Ccardinal | Computes the cardinal of a given type |
| Ccommon_compatible | Computes the type compatible with a list of values |
| Ccommon_type | Computes a type that can represent all values in a list of types |
| Ccomplex | SIMD-compatible representation of complex numbers |
| Celement_type | Extracts the scalar part of a type |
| Cexpected_cardinal | Computes the expected cardinal of a given type |
| Cfixed | SIMD register cardinal type |
| Cfundamental_cardinal | Computes the fundamental cardinal of a given type |
| Cif_ | Extensible wrapper for SIMD conditional |
| Cignore_all_ | Conditional expression selecting no lane from a eve::simd_value |
| Cignore_extrema | Conditional expression ignoring lanes at both extrema of a eve::simd_value |
| Cignore_first | Conditional expression ignoring the k first lanes from a eve::simd_value |
| Cignore_last | Conditional expression ignoring the k last lanes from a eve::simd_value |
| Cignore_none_ | Conditional expression selecting all lanes from a eve::simd_value |
| Ckeep_between | Conditional expression keeping all lanes between two position |
| Ckeep_first | Conditional expression selecting the k first lanes from a eve::simd_value |
| Ckeep_last | Conditional expression keeping the k last lanes from a eve::simd_value |
| Clogical< T > | Wrapper for SIMD compatible logical types |
| Clogical< wide< Type, Cardinal > > | Wrapper for SIMD registers holding logical types with compile-time size |
| Cor_ | Conditional/Alternative wrapper |
| Cpattern_t | Shuffling pattern |
| Cplatform | Platform specific constexpr information |
| Cscalar_cardinal | Cardinal type for scalar values |
| Csoa_ptr | Low level abstruction that is like a tuple of pointers to parallel arrays. We think that in code one should use views::zip_iterator instead, it can do everything soa_ptr can and more. We are still trying to figure out how/where these abstructions should live |
| Cstack_buffer | A stack buffer for a simd-value |
| Cstruct_support | CRTP base-class to declare operators for user-defined product type |
| Csupports_like | Opt-in traits for eve::like concept compliance |
| Csupports_ordering | Register a user-defined type to supports ordering |
| Ctop_bits | The cheapest to get bitset for simd logical |
| Cwide | Wrapper for SIMD registers |
| Cbackward_iterator | Shorthand for eve::algo::views::backward_iterator |
| Cbackward_range | Shorthand for eve::algo::views::backward_range |
| Cconverting_iterator | Shorthand for eve::algo::views::converting_iterator |
| Cconverting_range | Shorthand for eve::algo::views::converting_range |
| Ciota_with_step_iterator | Shorthand for eve::algo::views::iota_with_step_iterator |
| Cmap_iterator | Shorthand for eve::algo::views::map_iterator |
| Cmap_load_op | Requirement for the operation applied on read/load in map. should work on both scalar and wide for the underlying iterator for any cardinal |
| Cmap_range | Shorthand for eve::algo::views::map_range |
| Cmap_store_op | Requirement for the operation applied on store in map. should work on both scalar and wide for the underlying iterator for any cardinal |
| Crelaxed_iterator | Anything that can be reasonably converted to an iterator: std::contigious_iterator, eve::algo::iterator, aligned_ptr. Defined as being totally_ordered, having +/- like an iterator And preprocess_range(eve::algo::traits{}, I, I) should work. eve::unalign(I) should be OK |
| Crelaxed_range | Any class that has begin/end and end is a relaxed_sentinel_for begin. User can customize preprocess_range for a relaxed_range in case there is more information to get from there then would be from just begin/end |
| Crelaxed_sentinel_for | Two relaxed iterators form a valid relaxed range pair. preprocess_range has to be defined for the pair. Example: int const* is a relaxed_sentinel_for aligned_ptr<int const> |
| Creverse_iterator | Shorthand for eve::algo::views::reverse_iterator |
| Creverse_range | Shorthand for eve::algo::views::reverse_range |
| Czip_iterator | Shorthand for eve::algo::views::zip_iterator |
| Czip_range | Shorthand for eve::algo::views::zip_range |