E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches

Detailed Description

Classes

struct  eve::algo::views::backward_iterator< I >
 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. More...
 
struct  eve::algo::views::backward_range< R >
 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. More...
 
struct  eve::algo::views::converting_iterator< I, T >
 An adapter over a relaxed_iterator that converts it's values to T. Should be created via convert. More...
 
struct  eve::algo::views::converting_range< R, T >
 An adapter over a relaxed_range that converts it's values to T. Should be created via convert. More...
 
struct  eve::algo::views::iota_with_step_iterator< T, N >
 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. More...
 
struct  eve::algo::views::map_iterator< I, LoadOp, StoreOp >
 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. More...
 
struct  eve::algo::views::map_range< R, LoadOp, StoreOp >
 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. More...
 
struct  eve::algo::views::reverse_iterator< I >
 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. More...
 
struct  eve::algo::views::reverse_range< R >
 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. More...
 
struct  eve::algo::views::zip_range< Rngs >
 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. More...
 
struct  eve::algo::views::zip_iterator< Is >
 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. More...
 
struct  backward_iterator
 a shorthand for eve::algo::views::backward_iterator More...
 
struct  backward_range
 a shorthand for eve::algo::views::backward_range More...
 
struct  converting_iterator
 a shorthand for eve::algo::views::converting_iterator More...
 
struct  converting_range
 a shorthand for eve::algo::views::converting_range More...
 
struct  iota_with_step_iterator
 a shorthand for eve::algo::views::iota_with_step_iterator More...
 
struct  map_iterator
 a shorthand for eve::algo::views::map_iterator More...
 
struct  map_range
 a shorthand for eve::algo::views::map_range More...
 
struct  reverse_iterator
 a shorthand for eve::algo::views::reverse_iterator More...
 
struct  reverse_range
 a shorthand for eve::algo::views::reverse_range More...
 
struct  zip_iterator
 a shorthand for eve::algo::views::zip_iterator More...
 
struct  zip_range
 a shorthand for eve::algo::views::zip_range More...
 

Variables

struct eve::algo::views::backward_ eve::algo::views::backward
 Takes an iterator or a range and returns an adapter for backward iteration. For semantic of reverse you should use eve::algo::views::reverse this is just a helper to do backward algorithms.
 
struct eve::algo::views::convert_ eve::algo::views::convert
 Takes an iterator or a range and returns an adapter that has a provided value type.
 
struct {
eve::algo::views::iota_with_step
 A fuction to generate an iota with a step i.e. a general arithmetic sequence. To generate an iterator pass T base, T step. For a range pass a range size as ptrdiff_t as a 3rd parameter.
 
struct {
eve::algo::views::iota
 A fuction to generate an iota iterator/view like [0.5, 2.5, 4.5, ...]. \((0.5 + 2(n-1))_{n \in \N}\) To generate an iterator base + (n-1) step pass T base and T step. For a range pass a range size as ptrdiff_t as a 2rd parameter.
 
struct {
eve::algo::views::map_convert
 Given a relaxed iterator/range and 2 operations return relaxed iterator/range that applies the first operation before load and the second operation before store.
 
struct {
eve::algo::views::map
 Given a relaxed iterator/range and an operation return relaxed iterator/range that has no store and applies provided operation on read/load.
 
struct eve::algo::views::reverse_ eve::algo::views::reverse
 Takes an iterator or a range and returns an adapter for reverse iteration.
 
constexpr auto eve::algo::views::zip = function_with_traits<zip_>
 Given relaxed_iterors and relaxed ranges, zips them together (creates a single object). If at least one component is a relaxed_range - result is a zip_range, otherwise it's zip_iterator. All range compinents have to have the same length. NOTE: uses range_ref inside, so never owns/copies any elements.