|
| template<typename... Args> |
| | generator_expr (Args &&... args) |
| | Construct a generator expression and forward the arguments to the generator. More...
|
| |
|
| generator_expr (const generator_expr &e)=default |
| |
|
| generator_expr (generator_expr &&e) noexcept=default |
| |
|
| generator_expr (generator_expr &e) |
| | Copy constructor for non-const argument. This simply forwards to the regular copy constructor to avoid the forwarding constructor to be used.
|
| |
|
generator_expr & | operator= (const generator_expr &e)=delete |
| |
|
generator_expr & | operator= (generator_expr &&e)=delete |
| |
| value_type | operator[] ([[maybe_unused]] size_t i) const |
| | Returns the element at the given index. More...
|
| |
| value_type | read_flat ([[maybe_unused]] size_t i) const |
| | Returns the value at the given index This function never alters the state of the container. More...
|
| |
| template<typename Y > |
| decltype(auto) | gpu_compute_hint (Y &y) const |
| | Return a GPU computed version of this expression. More...
|
| |
| template<typename Y > |
| decltype(auto) | gpu_compute (Y &y) const |
| | Return a GPU computed version of this expression. More...
|
| |
| template<typename E > |
| constexpr bool | alias (const E &rhs) const noexcept |
| | Test if this expression aliases with the given expression. More...
|
| |
| value_type | operator() () const |
| | Apply the functor. More...
|
| |
| const Generator & | get_generator () const |
| | Returns a reference to the generator op. More...
|
| |
| template<typename L > |
| void | assign_to (L &&lhs) const |
| | Assign to the given left-hand-side expression. More...
|
| |
| template<typename L > |
| void | assign_add_to (L &&lhs) const |
| | Add to the given left-hand-side expression. More...
|
| |
| template<typename L > |
| void | assign_sub_to (L &&lhs) const |
| | Sub from the given left-hand-side expression. More...
|
| |
| template<typename L > |
| void | assign_mul_to (L &&lhs) const |
| | Multiply the given left-hand-side expression. More...
|
| |
| template<typename L > |
| void | assign_div_to (L &&lhs) const |
| | Divide the given left-hand-side expression. More...
|
| |
| template<typename L > |
| void | assign_mod_to (L &&lhs) const |
| | Modulo the given left-hand-side expression. More...
|
| |
| template<typename V > |
| void | visit ([[maybe_unused]] V &&visitor) const |
| | Apply the given visitor to this expression and its descendants. More...
|
| |
|
void | ensure_cpu_up_to_date () const |
| | Ensures that the GPU memory is allocated and that the GPU memory is up to date (to undefined value).
|
| |
|
void | ensure_gpu_up_to_date () const |
| | Copy back from the GPU to the expression memory if necessary.
|
| |