E.V.E
v2023.02.15
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 Neve
 Nalgo
 Nviews
 Cbackward_iteratorAn 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_rangeAn 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_iteratorAn adapter over a relaxed_iterator that converts it's values to T. Should be created via convert
 Cconverting_rangeAn adapter over a relaxed_range that converts it's values to T. Should be created via convert
 Ciota_with_step_iteratorAn 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_iteratorAn 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_rangeA 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_iteratorAn 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_rangeAn 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_iteratorA 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_rangeA 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_tType to indicate that there is nothing there
 Cptr_iteratorAn eve iterator on top of pointer or aligned pointer
 Crange_ref_wrapperNon_owning_range wrapper around owning range. Should be created via range_ref
 CabiFind proper ABI for Type/Lanes pair
 Caligned_allocatorStandard-compliant allocator handling the allocation and deallocation of segment of aligned memory
 CrebindConvert an aligned_allocator type to another
 Caligned_ptrWrapper for non-owning aligned pointers
 CasLightweight type-wrapper
 Cas_patternFormula-based pattern holder
 CcardinalComputes the cardinal of a given type
 Ccommon_compatibleComputes the type compatible with a list of values
 Ccommon_typeComputes a type that can represent all values in a list of types
 CcomplexSIMD-compatible representation of complex numbers
 Celement_typeExtracts the scalar part of a type
 CfixedSIMD register cardinal type
 Cfundamental_cardinalComputes 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_extremaConditional expression ignoring lanes at both extrema of a eve::simd_value
 Cignore_firstConditional expression ignoring the k first lanes from a eve::simd_value
 Cignore_lastConditional expression ignoring the k last lanes from a eve::simd_value
 Cignore_none_Conditional expression selecting all lanes from a eve::simd_value
 Ckeep_betweenConditional expression keeping all lanes between two position
 Ckeep_firstConditional expression selecting the k first lanes from a eve::simd_value
 Ckeep_lastConditional 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_tShuffling pattern
 CplatformPlatform specific constexpr information
 Csoa_ptrLow 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_bufferA stack buffer for a simd-value
 Cstruct_supportCRTP base-class to declare operators for user-defined product type
 Csupports_likeOpt-in traits for eve::like concept compliance
 Csupports_orderingRegister a user-defined type to supports ordering
 Ctop_bitsThe cheapest to get bitset for simd logical
 Cunderlying_typeComputes the most scalar type associated with a type
 CwideWrapper for SIMD registers
 Cbackward_iteratorShorthand for eve::algo::views::backward_iterator
 Cbackward_rangeShorthand for eve::algo::views::backward_range
 Cconverting_iteratorShorthand for eve::algo::views::converting_iterator
 Cconverting_rangeShorthand for eve::algo::views::converting_range
 Ciota_with_step_iteratorShorthand for eve::algo::views::iota_with_step_iterator
 Cmap_iteratorShorthand for eve::algo::views::map_iterator
 Cmap_load_opRequirement for the operation applied on read/load in map. should work on both scalar and wide for the underlying iterator for any cardinal
 Cmap_rangeShorthand for eve::algo::views::map_range
 Cmap_store_opRequirement for the operation applied on store in map. should work on both scalar and wide for the underlying iterator for any cardinal
 Crelaxed_iteratorAnything 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_rangeAny 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_forTwo 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_iteratorShorthand for eve::algo::views::reverse_iterator
 Creverse_rangeShorthand for eve::algo::views::reverse_range
 Czip_iteratorShorthand for eve::algo::views::zip_iterator
 Czip_rangeShorthand for eve::algo::views::zip_range