| 
| 
template<class... Args>  | 
| const_reference  | operator() (Args... args) const | 
|   | 
| 
template<class... Args>  | 
| const_reference  | unchecked (Args... args) const | 
|   | 
| 
template<class It>  | 
| const_reference  | element (It first, It last) const | 
|   | 
| 
template<class O>  | 
| const_stepper  | stepper_begin (const O &shape) const noexcept | 
|   | 
| 
template<class O>  | 
| const_stepper  | stepper_end (const O &shape, layout_type) const noexcept | 
|   | 
| 
template<class OR, class OF>  | 
| rebind_t< OR, OF >  | build_generator (OF &&func) const | 
|   | 
| 
size_type  | shape (size_type index) const | 
|   | Returns the i-th dimension of the expression. 
  | 
|   | 
 | 
| template<class Func>  | 
|   | xgenerator (Func &&f, const S &shape) noexcept | 
|   | Constructs an xgenerator applying the specified function over the given shape.  
  | 
|   | 
 | 
| const inner_shape_type &  | shape () const noexcept | 
|   | Returns the shape of the xgenerator.  
  | 
|   | 
| layout_type  | layout () const noexcept | 
|   | 
| bool  | is_contiguous () const noexcept | 
|   | 
 | 
| template<class... Args>  | 
| auto  | operator() (Args... args) const -> const_reference | 
|   | Returns the evaluated element at the specified position in the function.  
  | 
|   | 
| template<class... Args>  | 
| auto  | unchecked (Args... args) const -> const_reference | 
|   | Returns a constant reference to the element at the specified position in the expression.  
  | 
|   | 
| template<class It>  | 
| auto  | element (It first, It last) const -> const_reference | 
|   | Returns a constant reference to the element at the specified position in the function.  
  | 
|   | 
| derived_type &  | derived_cast () &noexcept | 
|   | Returns a reference to the actual derived type of the xexpression.  
  | 
|   | 
| const derived_type &  | derived_cast () const &noexcept | 
|   | Returns a constant reference to the actual derived type of the xexpression.  
  | 
|   | 
| derived_type  | derived_cast () &&noexcept | 
|   | Returns a constant reference to the actual derived type of the xexpression.  
  | 
|   | 
| 
const_layout_iterator< L >  | begin () const noexcept | 
|   | 
| 
const_broadcast_iterator< S, L >  | begin (const S &shape) const noexcept | 
|   | 
| 
const_layout_iterator< L >  | end () const noexcept | 
|   | 
| 
const_broadcast_iterator< S, L >  | end (const S &shape) const noexcept | 
|   | 
| 
const_layout_iterator< L >  | cbegin () const noexcept | 
|   | 
| 
const_broadcast_iterator< S, L >  | cbegin (const S &shape) const noexcept | 
|   | 
| 
const_layout_iterator< L >  | cend () const noexcept | 
|   | 
| 
const_broadcast_iterator< S, L >  | cend (const S &shape) const noexcept | 
|   | 
| 
const_reverse_layout_iterator< L >  | rbegin () const noexcept | 
|   | 
| 
const_reverse_broadcast_iterator< S, L >  | rbegin (const S &shape) const noexcept | 
|   | 
| 
const_reverse_layout_iterator< L >  | rend () const noexcept | 
|   | 
| 
const_reverse_broadcast_iterator< S, L >  | rend (const S &shape) const noexcept | 
|   | 
| 
const_reverse_layout_iterator< L >  | crbegin () const noexcept | 
|   | 
| 
const_reverse_broadcast_iterator< S, L >  | crbegin (const S &shape) const noexcept | 
|   | 
| 
const_reverse_layout_iterator< L >  | crend () const noexcept | 
|   | 
| 
const_reverse_broadcast_iterator< S, L >  | crend (const S &shape) const noexcept | 
|   | 
| auto  | begin () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | end () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | cbegin () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | cend () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | begin () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | end () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | cbegin () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | cend () const noexcept -> const_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | rbegin () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | rend () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | crbegin () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | crend () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | rbegin () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | rend () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | crbegin () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | crend () const noexcept -> const_reverse_layout_iterator< L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | begin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | end (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | cbegin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | cend (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | begin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | end (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | cbegin (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the expression.  
  | 
|   | 
| auto  | cend (const S &shape) const noexcept -> const_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the expression.  
  | 
|   | 
| auto  | rbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | rend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | crbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | crend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | get_cbegin (bool end_index) const noexcept -> const_layout_iterator< L > | 
|   | 
| auto  | get_cend (bool end_index) const noexcept -> const_layout_iterator< L > | 
|   | 
| auto  | get_cbegin (const S &shape, bool end_index) const noexcept -> const_broadcast_iterator< S, L > | 
|   | 
| auto  | get_cend (const S &shape, bool end_index) const noexcept -> const_broadcast_iterator< S, L > | 
|   | 
| auto  | get_stepper_begin (const S &shape) const noexcept -> const_stepper | 
|   | 
| auto  | get_stepper_end (const S &shape, layout_type l) const noexcept -> const_stepper | 
|   | 
| auto  | rbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | rend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | crbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the first element of the reversed expression.  
  | 
|   | 
| auto  | crend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L > | 
|   | Returns a constant iterator to the element following the last element of the reversed expression.  
  | 
|   | 
| auto  | get_cbegin (bool end_index) const noexcept -> const_layout_iterator< L > | 
|   | 
| auto  | get_cbegin (const S &shape, bool end_index) const noexcept -> const_broadcast_iterator< S, L > | 
|   | 
| auto  | get_cend (bool end_index) const noexcept -> const_layout_iterator< L > | 
|   | 
| auto  | get_cend (const S &shape, bool end_index) const noexcept -> const_broadcast_iterator< S, L > | 
|   | 
| auto  | get_stepper_begin (const S &shape) const noexcept -> const_stepper | 
|   | 
| auto  | get_stepper_end (const S &shape, layout_type l) const noexcept -> const_stepper | 
|   | 
| auto  | at (Args... args) const -> const_reference | 
|   | Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking.  
  | 
|   | 
| auto  | operator[] (const S &index) const -> disable_integral_t< S, const_reference > | 
|   | Returns a constant reference to the element at the specified position in the expression.  
  | 
|   | 
| auto  | operator[] (std::initializer_list< I > index) const -> const_reference | 
|   | 
| auto  | periodic (Args... args) const -> const_reference | 
|   | Returns a constant reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed).  
  | 
|   | 
| size_type  | size () const noexcept(noexcept(derived_cast().shape())) | 
|   | Returns the size of the expression.  
  | 
|   | 
| size_type  | dimension () const noexcept | 
|   | Returns the number of dimensions of the expression.  
  | 
|   | 
| size_type  | shape (size_type index) const | 
|   | Returns the i-th dimension of the expression.  
  | 
|   | 
| 
const_reference  | at (Args... args) const | 
|   | 
| auto  | at (Args... args) const -> const_reference | 
|   | Returns a constant reference to the element at the specified position in the expression, after dimension and bounds checking.  
  | 
|   | 
| 
disable_integral_t< S, const_reference >  | operator[] (const S &index) const | 
|   | 
| 
const_reference  | operator[] (std::initializer_list< I > index) const | 
|   | 
| const_reference  | operator[] (size_type i) const | 
|   | 
| auto  | operator[] (const S &index) const -> disable_integral_t< S, const_reference > | 
|   | Returns a constant reference to the element at the specified position in the expression.  
  | 
|   | 
| auto  | operator[] (std::initializer_list< I > index) const -> const_reference | 
|   | 
| 
const_reference  | periodic (Args... args) const | 
|   | 
| auto  | periodic (Args... args) const -> const_reference | 
|   | Returns a constant reference to the element at the specified position in the expression, after applying periodicity to the indices (negative and 'overflowing' indices are changed).  
  | 
|   | 
| bool  | in_bounds (Args... args) const | 
|   | Returns true only if the the specified position is a valid entry in the expression.  
  | 
|   | 
| const_reference  | front () const | 
|   | Returns a constant reference to first the element of the expression.  
  | 
|   | 
| const_reference  | back () const | 
|   | Returns a constant reference to last the element of the expression.  
  | 
|   | 
template<class F, class R, class S>
class xt::xgenerator< F, R, S >
Multidimensional function operating on indices. 
The xgenerator class implements a multidimensional function, generating a value from the supplied indices.
- Template Parameters
 - 
  
    | F | the function type  | 
    | R | the return type of the function  | 
    | S | the shape type of the generator  | 
  
   
Definition at line 108 of file xgenerator.hpp.