lin
Public Types | Public Member Functions | Private Attributes | List of all members
lin::internal::MappingTranspose< C > Class Template Reference

Proxy to a lazily evalutated transpose operation. More...

#include <lin/core/operations/mapping_transpose.hpp>

Inheritance diagram for lin::internal::MappingTranspose< C >:
lin::internal::Mapping< MappingTranspose< C > > lin::internal::Stream< MappingTranspose< C > >

Public Types

typedef traits< MappingTranspose< C > > Traits
 Traits information for this type. More...
 
- Public Types inherited from lin::internal::Mapping< MappingTranspose< C > >
typedef traits< MappingTranspose< C > > Traits
 Traits information for this type. More...
 
- Public Types inherited from lin::internal::Stream< MappingTranspose< C > >
typedef traits< MappingTranspose< C > > Traits
 Traits information for this type. More...
 

Public Member Functions

constexpr MappingTranspose (MappingTranspose< C > const &)=default
 
constexpr MappingTranspose (MappingTranspose< C > &&)=default
 
constexpr MappingTranspose< C > & operator= (MappingTranspose< C > const &)=default
 
constexpr MappingTranspose< C > & operator= (MappingTranspose< C > &&)=default
 
constexpr MappingTranspose (Mapping< C > &c)
 Constructs a proxy to a tensor transpose operation. More...
 
constexpr size_t rows () const
 
constexpr size_t cols () const
 
constexpr Traits::elem_toperator() (size_t i, size_t j)
 Read write access to the requested tensor element. More...
 
constexpr Traits::elem_toperator() (size_t i)
 Read write access to the requested tensor element. More...
 
- Public Member Functions inherited from lin::internal::Mapping< MappingTranspose< C > >
constexpr Mapping (Mapping< MappingTranspose< C > > const &)=default
 
constexpr Mapping (Mapping< MappingTranspose< C > > &&)=default
 
constexpr Mapping< MappingTranspose< C > > & operator= (Mapping< MappingTranspose< C > > const &)=default
 
constexpr Mapping< MappingTranspose< C > > & operator= (Mapping< MappingTranspose< C > > &&)=default
 
constexpr MappingTranspose< C > & operator= (std::initializer_list< T > const &list)
 Copy an initializer list's elements into the tensor's elements. More...
 
constexpr MappingTranspose< C > & 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< MappingTranspose< C > >
constexpr Stream (Stream< MappingTranspose< C > > const &)=default
 
constexpr Stream (Stream< MappingTranspose< C > > &&)=default
 
constexpr Stream< MappingTranspose< C > > & operator= (Stream< MappingTranspose< C > > const &)=default
 
constexpr Stream< MappingTranspose< C > > & operator= (Stream< MappingTranspose< C > > &&)=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...
 

Private Attributes

Mapping< C > & c
 Mapping reference.
 

Additional Inherited Members

- Protected Member Functions inherited from lin::internal::Stream< MappingTranspose< C > >
constexpr MappingTranspose< C > & derived ()
 
constexpr MappingTranspose< C >const & derived () const
 

Detailed Description

template<class C>
class lin::internal::MappingTranspose< C >

Proxy to a lazily evalutated transpose operation.

Template Parameters
CsTensor type.

Details to come...

Member Typedef Documentation

template<class C>
typedef traits<MappingTranspose<C> > lin::internal::MappingTranspose< C >::Traits

Traits information for this type.

See also
internal::traits

Constructor & Destructor Documentation

template<class C>
constexpr lin::internal::MappingTranspose< C >::MappingTranspose ( Mapping< C > &  c)
inline

Constructs a proxy to a tensor transpose operation.

Parameters
cTensor mapping.

Member Function Documentation

template<class C>
constexpr size_t lin::internal::MappingTranspose< C >::rows ( ) const
inline
Returns
Number of rows in the tensor.
template<class C>
constexpr size_t lin::internal::MappingTranspose< C >::cols ( ) const
inline
Returns
Number of columns in the tensor.
template<class C>
constexpr Traits::elem_t& lin::internal::MappingTranspose< C >::operator() ( size_t  i,
size_t  j 
)
inline

Read write access to the requested tensor element.

Parameters
iRow index.
jColumn index.
Returns
Reference to the tensor element.
template<class C>
constexpr Traits::elem_t& lin::internal::MappingTranspose< C >::operator() ( size_t  i)
inline

Read write access to the requested tensor element.

Parameters
iIndex.
Returns
Reference to the tensor element.

Element access proceeds as if all the elements of the tensor stream were flattened into an array in row major order.


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