Expression Templates Library (ETL)
Classes | Namespaces | Typedefs | Functions | Variables
dyn_matrix_view.hpp File Reference

Implementation of dyn_matrix_view. More...

#include "etl/index.hpp"
Include dependency graph for dyn_matrix_view.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  etl::etl_traits< etl::dyn_matrix_view< T, D > >
 Specialization for dyn_matrix_view. More...
 

Namespaces

 etl
 Root namespace for the ETL library.
 

Typedefs

using etl::iterable_base_type = iterable< this_type, false >
 The iterable base type.
 
using etl::assignable_base_type = assignable< this_type, value_t< T > >
 The assignable base type. More...
 
using etl::sub_type = T
 The sub type.
 
using etl::value_type = value_t< sub_type >
 The value contained in the expression. More...
 
using etl::memory_type = memory_t< sub_type >
 The memory acess type. More...
 
using etl::const_memory_type = const_memory_t< sub_type >
 The const memory access type. More...
 
using etl::return_type = return_helper< sub_type, decltype(std::declval< sub_type >()[0])>
 The type returned by the view.
 
using etl::const_return_type = const_return_helper< sub_type, decltype(std::declval< sub_type >()[0])>
 The const type return by the view.
 
using etl::iterator = etl::iterator< this_type >
 The iterator type.
 
using etl::const_iterator = etl::iterator< const this_type >
 The const iterator type.
 
template<typename V = default_vec>
using etl::vec_type = typename V::template vec_type< value_type >
 The vectorization type for V.
 

Functions

template<etl_expr T, size_t D>
 etl::requires (!is_dma< T >) struct dyn_matrix_view< T
 View to represent a dyn matrix in top of an expression. More...
 
template<typename... S>
 etl::dyn_matrix_view (sub_type sub, S... dims)
 Construct a new dyn_matrix_view over the given sub expression. More...
 
const_return_type etl::operator[] (size_t j) const
 Returns the element at the given index. More...
 
const_return_type etl::operator() (size_t j) const
 Access to the element at the given position. More...
 
template<typename... S>
const_return_type etl::operator() (size_t f1, size_t f2, S... sizes) const
 Access to the element at the given position. More...
 
value_type etl::read_flat (size_t j) const noexcept
 Returns the value at the given index This function never has side effects. More...
 
template<typename... S>
return_type etl::operator() (size_t f1, size_t f2, S... sizes)
 Access to the element at the given (i,j) position. More...
 
template<typename V = default_vec>
auto etl::load (size_t x) const noexcept
 Load several elements of the expression at once. More...
 
template<typename V = default_vec>
auto etl::loadu (size_t x) const noexcept
 Load several elements of the expression at once. More...
 
template<typename V = default_vec>
void etl::stream (vec_type< V > in, size_t i) noexcept
 Store several elements in the matrix at once, using non-temporal store. More...
 
template<typename V = default_vec>
void etl::store (vec_type< V > in, size_t i) noexcept
 Store several elements in the matrix at once. More...
 
template<typename V = default_vec>
void etl::storeu (vec_type< V > in, size_t i) noexcept
 Store several elements in the matrix at once. More...
 
template<typename E >
bool etl::alias (const E &rhs) const noexcept
 Test if this expression aliases with the given expression. More...
 
template<typename L >
void etl::assign_to (L &&lhs) const
 Assign to the given left-hand-side expression. More...
 
template<typename L >
void etl::assign_add_to (L &&lhs) const
 Add to the given left-hand-side expression. More...
 
template<typename L >
void etl::assign_sub_to (L &&lhs) const
 Sub from the given left-hand-side expression. More...
 
template<typename L >
void etl::assign_mul_to (L &&lhs) const
 Multiply the given left-hand-side expression. More...
 
template<typename L >
void etl::assign_div_to (L &&lhs) const
 Divide the given left-hand-side expression. More...
 
template<typename L >
void etl::assign_mod_to (L &&lhs) const
 Modulo the given left-hand-side expression. More...
 
void etl::visit (detail::evaluator_visitor &visitor) const
 Apply the given visitor to this expression and its descendants. More...
 
void etl::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). More...
 
void etl::ensure_gpu_up_to_date () const
 Copy back from the GPU to the expression memory if necessary. More...
 
std::ostream & etl::operator<< (std::ostream &os, const dyn_matrix_view &v)
 Print a representation of the view on the given stream. More...
 
template<etl_expr T, size_t D>
 etl::requires (is_dma< T >) struct dyn_matrix_view< T
 View to represent a dyn matrix in top of an expression. More...
 

Variables

etl::final
 
etl::D
 The number of dimensions. More...
 
etl::false
 
etl::value_testable< dyn_matrix_view< T, D > >
 
etl::assignable< dyn_matrix_view< T, D >, value_t< T > >
 The type of this expression. More...
 
etl::true
 

Detailed Description

Implementation of dyn_matrix_view.