lin
Public Types | Public Member Functions | List of all members
lin::internal::MatrixView< T, R, C, MR, MC > Class Template Reference

Generic matrix view. More...

#include <lin/views/matrix_view.hpp>

Inheritance diagram for lin::internal::MatrixView< T, R, C, MR, MC >:
lin::internal::TensorView< MatrixView< T, R, C, MR, MC > > lin::internal::Base< MatrixView< T, R, C, MR, MC > > lin::internal::Mapping< MatrixView< T, R, C, MR, MC > > lin::internal::Dimensions< MatrixView< T, R, C, MR, MC > > lin::internal::Stream< MatrixView< T, R, C, MR, MC > >

Public Types

typedef traits< MatrixView< T, R, C, MR, MC > > Traits
 Traits information for this type. More...
 
- Public Types inherited from lin::internal::TensorView< MatrixView< T, R, C, MR, MC > >
typedef traits< MatrixView< T, R, C, MR, MC > > Traits
 Traits information for this type. More...
 
- Public Types inherited from lin::internal::Base< MatrixView< T, R, C, MR, MC > >
typedef traits< MatrixView< T, R, C, MR, MC > > Traits
 Traits information for this type. More...
 
- Public Types inherited from lin::internal::Mapping< MatrixView< T, R, C, MR, MC > >
typedef traits< MatrixView< T, R, C, MR, MC > > Traits
 Traits information for this type. More...
 
- Public Types inherited from lin::internal::Stream< MatrixView< T, R, C, MR, MC > >
typedef traits< MatrixView< T, R, C, MR, MC > > Traits
 Traits information for this type. More...
 

Public Member Functions

constexpr MatrixView (MatrixView< T, R, C, MR, MC > const &)=default
 
constexpr MatrixView (MatrixView< T, R, C, MR, MC > &&)=default
 
constexpr MatrixView< T, R, C, MR, MC > & operator= (MatrixView< T, R, C, MR, MC > const &)=default
 
constexpr MatrixView< T, R, C, MR, MC > & operator= (MatrixView< T, R, C, MR, MC > &&)=default
 
- Public Member Functions inherited from lin::internal::TensorView< MatrixView< T, R, C, MR, MC > >
constexpr TensorView (TensorView< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr TensorView (TensorView< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr TensorView (typename Traits::elem_t *elems)
 Constructs a new tensor tensor view with the provided backing array. More...
 
constexpr TensorView (typename Traits::elem_t *elems, size_t r, size_t c)
 Constructs a new tensor tensor view with the provided backing array and requested dimensions. More...
 
constexpr TensorView< MatrixView< T, R, C, MR, MC > > & operator= (TensorView< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr TensorView< MatrixView< T, R, C, MR, MC > > & operator= (TensorView< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr Traits::elem_tdata ()
 Retrives a pointer to the element backing array. More...
 
- Public Member Functions inherited from lin::internal::Base< MatrixView< T, R, C, MR, MC > >
constexpr Base (Base< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Base (Base< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr Base< MatrixView< T, R, C, MR, MC > > & operator= (Base< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Base< MatrixView< T, R, C, MR, MC > > & operator= (Base< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr Traits::elem_tdata ()
 Retrives a pointer to the element backing array. More...
 
constexpr Traits::elem_t const * data () const
 Retrives a constant pointer to the element backing array. More...
 
constexpr Traits::elem_toperator() (size_t i, size_t j)
 Provides read and write access to tensor elements. More...
 
constexpr Traits::elem_toperator() (size_t i)
 Provides read and write access to tensor elements. More...
 
- Public Member Functions inherited from lin::internal::Mapping< MatrixView< T, R, C, MR, MC > >
constexpr Mapping (Mapping< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Mapping (Mapping< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr Mapping< MatrixView< T, R, C, MR, MC > > & operator= (Mapping< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Mapping< MatrixView< T, R, C, MR, MC > > & operator= (Mapping< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr MatrixView< T, R, C, MR, MC > & operator= (std::initializer_list< T > const &list)
 Copy an initializer list's elements into the tensor's elements. More...
 
constexpr MatrixView< T, R, C, MR, MC > & operator= (Stream< C > const &s)
 Copy another tensor's elements into this tenosr's elements. More...
 
constexpr Traits::elem_toperator() (size_t i, size_t j)
 Provides read and write access to tensor elements. More...
 
constexpr Traits::elem_t operator() (size_t i, size_t j) const
 Provides read only access to tensor elements. More...
 
constexpr Traits::elem_toperator() (size_t i)
 Provides read and write access to tensor elements. More...
 
constexpr Traits::elem_t operator() (size_t i) const
 Provides read only access to tensor elements. More...
 
constexpr Traits::elem_toperator[] (size_t i)
 Provides read and write access to tensor elements. More...
 
constexpr Traits::elem_t operator[] (size_t i) const
 Provides read only access to tensor elements. More...
 
- Public Member Functions inherited from lin::internal::Stream< MatrixView< T, R, C, MR, MC > >
constexpr Stream (Stream< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Stream (Stream< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr Stream< MatrixView< T, R, C, MR, MC > > & operator= (Stream< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Stream< MatrixView< T, R, C, MR, MC > > & operator= (Stream< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr size_t rows () const
 
constexpr size_t cols () const
 
constexpr size_t size () const
 
constexpr Traits::elem_t operator() (size_t i, size_t j) const
 Provides read only access to tensor elements. More...
 
constexpr Traits::elem_t operator() (size_t i) const
 Provides read only access to tensor elements. More...
 
constexpr Traits::elem_t operator[] (size_t i) const
 Provides read only access to tensor elements. More...
 
constexpr Traits::eval_t eval () const
 Forces evaluation of this stream to a value backed type. More...
 
- Public Member Functions inherited from lin::internal::Dimensions< MatrixView< T, R, C, MR, MC > >
constexpr Dimensions (Dimensions< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Dimensions (Dimensions< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr Dimensions< MatrixView< T, R, C, MR, MC > > & operator= (Dimensions< MatrixView< T, R, C, MR, MC > > const &)=default
 
constexpr Dimensions< MatrixView< T, R, C, MR, MC > > & operator= (Dimensions< MatrixView< T, R, C, MR, MC > > &&)=default
 
constexpr size_t rows () const
 
constexpr size_t cols () const
 
constexpr void resize (size_t r, size_t c)
 Resizes a tensor's dimensions. More...
 

Additional Inherited Members

- Protected Member Functions inherited from lin::internal::Stream< MatrixView< T, R, C, MR, MC > >
constexpr MatrixView< T, R, C, MR, MC > & derived ()
 
constexpr MatrixView< T, R, C, MR, MC >const & derived () const
 

Detailed Description

template<typename T, size_t R, size_t C, size_t MR = R, size_t MC = C>
class lin::internal::MatrixView< T, R, C, MR, MC >

Generic matrix view.

Template Parameters
TMatrix view element type.
RRows at compile time.
CColumns at compile time.
MRMaximum rows at compile time.
MCMaximum columns at compile time.

The template parameters specify the matrix view's traits. The traits must qualify this type as a matrix.

See also
internal::traits
internal::is_matrix
internal::TensorView

Member Typedef Documentation

template<typename T , size_t R, size_t C, size_t MR = R, size_t MC = C>
typedef traits<MatrixView<T, R, C, MR, MC> > lin::internal::MatrixView< T, R, C, MR, MC >::Traits

Traits information for this type.

See also
internal::traits

The documentation for this class was generated from the following file: