shark::blas::matrix_range< M > Class Template Reference

#include <shark/LinAlg/BLAS/fwd.hpp>

+ Inheritance diagram for shark::blas::matrix_range< M >:

Public Types

typedef M::const_reference const_reference
 
typedef reference< M >::type reference
 
typedef M::const_pointer const_pointer
 
typedef pointer< M >::type pointer
 
typedef M::const_index_pointer const_index_pointer
 
typedef index_pointer< M >::type index_pointer
 
typedef M::storage_category storage_category
 
typedef elementwise_tag evaluation_category
 
typedef M::orientation orientation
 
typedef subrange_iterator< typename row_iterator< M >::type > row_iterator
 
typedef subrange_iterator< typename column_iterator< M >::type > column_iterator
 
typedef subrange_iterator< typename M::const_row_iterator > const_row_iterator
 
typedef subrange_iterator< typename M::const_column_iterator > const_column_iterator
 
typedef major_iterator< matrix_range< M > >::type major_iterator
 

Public Member Functions

 matrix_range (matrix_closure_type expression, range const &r1, range const &r2)
 
template<class E >
 matrix_range (matrix_range< E > const &other, typename boost::disable_if< boost::is_same< E, matrix_range > >::type *dummy=0)
 
size_type start1 () const
 
size_type start2 () const
 
matrix_closure_type expression () const
 
matrix_closure_type & expression ()
 
range const & range1 () const
 
range const & range2 () const
 
size_type size1 () const
 Returns the number of rows of the matrix. More...
 
size_type size2 () const
 Returns the number of columns of the matrix. More...
 
difference_type stride1 () const
 Returns the stride in memory between two rows. More...
 
difference_type stride2 () const
 Returns the stride in memory between two columns. More...
 
pointer storage () const
 Returns the pointer to the beginning of the matrix storage. More...
 
reference operator() (index_type i, index_type j) const
 
matrix_rangeoperator= (matrix_range const &e)
 
template<class E >
matrix_rangeoperator= (matrix_expression< E > const &e)
 
const_row_iterator row_begin (index_type i) const
 
row_iterator row_begin (index_type i)
 
const_row_iterator row_end (index_type i) const
 
row_iterator row_end (index_type i)
 
const_column_iterator column_begin (index_type j) const
 
column_iterator column_begin (index_type j)
 
const_column_iterator column_end (index_type j) const
 
column_iterator column_end (index_type j)
 
major_iterator set_element (major_iterator pos, index_type index, value_type value)
 
major_iterator clear_element (major_iterator elem)
 
major_iterator clear_range (major_iterator start, major_iterator end)
 
void clear ()
 
void reserve (size_type)
 
void reserve_row (size_type, size_type)
 
void reserve_column (size_type, size_type)
 
- Public Member Functions inherited from shark::blas::matrix_expression< matrix_range< M > >
const expression_type & operator() () const
 
expression_type & operator() ()
 

Detailed Description

template<class M>
class shark::blas::matrix_range< M >

Definition at line 63 of file fwd.hpp.

Member Typedef Documentation

§ column_iterator

template<class M>
typedef subrange_iterator<typename column_iterator<M>::type> shark::blas::matrix_range< M >::column_iterator

Definition at line 1206 of file matrix_proxy.hpp.

§ const_column_iterator

template<class M>
typedef subrange_iterator<typename M::const_column_iterator> shark::blas::matrix_range< M >::const_column_iterator

Definition at line 1208 of file matrix_proxy.hpp.

§ const_index_pointer

template<class M>
typedef M::const_index_pointer shark::blas::matrix_range< M >::const_index_pointer

Definition at line 1101 of file matrix_proxy.hpp.

§ const_pointer

template<class M>
typedef M::const_pointer shark::blas::matrix_range< M >::const_pointer

Definition at line 1097 of file matrix_proxy.hpp.

§ const_reference

template<class M>
typedef M::const_reference shark::blas::matrix_range< M >::const_reference

Definition at line 1095 of file matrix_proxy.hpp.

§ const_row_iterator

template<class M>
typedef subrange_iterator<typename M::const_row_iterator> shark::blas::matrix_range< M >::const_row_iterator

Definition at line 1207 of file matrix_proxy.hpp.

§ evaluation_category

template<class M>
typedef elementwise_tag shark::blas::matrix_range< M >::evaluation_category

Definition at line 1108 of file matrix_proxy.hpp.

§ index_pointer

template<class M>
typedef index_pointer<M>::type shark::blas::matrix_range< M >::index_pointer

Definition at line 1102 of file matrix_proxy.hpp.

§ major_iterator

template<class M>
typedef major_iterator<matrix_range<M> >::type shark::blas::matrix_range< M >::major_iterator

Definition at line 1259 of file matrix_proxy.hpp.

§ orientation

template<class M>
typedef M::orientation shark::blas::matrix_range< M >::orientation

Definition at line 1109 of file matrix_proxy.hpp.

§ pointer

template<class M>
typedef pointer<M>::type shark::blas::matrix_range< M >::pointer

Definition at line 1098 of file matrix_proxy.hpp.

§ reference

template<class M>
typedef reference<M>::type shark::blas::matrix_range< M >::reference

Definition at line 1096 of file matrix_proxy.hpp.

§ row_iterator

template<class M>
typedef subrange_iterator<typename row_iterator<M>::type> shark::blas::matrix_range< M >::row_iterator

Definition at line 1205 of file matrix_proxy.hpp.

§ storage_category

template<class M>
typedef M::storage_category shark::blas::matrix_range< M >::storage_category

Definition at line 1107 of file matrix_proxy.hpp.

Constructor & Destructor Documentation

§ matrix_range() [1/2]

template<class M>
shark::blas::matrix_range< M >::matrix_range ( matrix_closure_type  expression,
range const &  r1,
range const &  r2 
)
inline

Definition at line 1113 of file matrix_proxy.hpp.

§ matrix_range() [2/2]

template<class M>
template<class E >
shark::blas::matrix_range< M >::matrix_range ( matrix_range< E > const &  other,
typename boost::disable_if< boost::is_same< E, matrix_range< M > > >::type *  dummy = 0 
)
inline

Definition at line 1123 of file matrix_proxy.hpp.

Member Function Documentation

§ clear()

template<class M>
void shark::blas::matrix_range< M >::clear ( )
inline

Definition at line 1273 of file matrix_proxy.hpp.

§ clear_element()

template<class M>
major_iterator shark::blas::matrix_range< M >::clear_element ( major_iterator  elem)
inline

Definition at line 1265 of file matrix_proxy.hpp.

§ clear_range()

template<class M>
major_iterator shark::blas::matrix_range< M >::clear_range ( major_iterator  start,
major_iterator  end 
)
inline

Definition at line 1269 of file matrix_proxy.hpp.

§ column_begin() [1/2]

template<class M>
const_column_iterator shark::blas::matrix_range< M >::column_begin ( index_type  j) const
inline

Definition at line 1235 of file matrix_proxy.hpp.

§ column_begin() [2/2]

template<class M>
column_iterator shark::blas::matrix_range< M >::column_begin ( index_type  j)
inline

Definition at line 1241 of file matrix_proxy.hpp.

§ column_end() [1/2]

template<class M>
const_column_iterator shark::blas::matrix_range< M >::column_end ( index_type  j) const
inline

Definition at line 1247 of file matrix_proxy.hpp.

§ column_end() [2/2]

template<class M>
column_iterator shark::blas::matrix_range< M >::column_end ( index_type  j)
inline

Definition at line 1253 of file matrix_proxy.hpp.

§ expression() [1/2]

template<class M>
matrix_closure_type shark::blas::matrix_range< M >::expression ( ) const
inline

Definition at line 1140 of file matrix_proxy.hpp.

§ expression() [2/2]

template<class M>
matrix_closure_type& shark::blas::matrix_range< M >::expression ( )
inline

Definition at line 1143 of file matrix_proxy.hpp.

§ operator()()

template<class M>
reference shark::blas::matrix_range< M >::operator() ( index_type  i,
index_type  j 
) const
inline

Definition at line 1190 of file matrix_proxy.hpp.

§ operator=() [1/2]

template<class M>
matrix_range& shark::blas::matrix_range< M >::operator= ( matrix_range< M > const &  e)
inline

Definition at line 1196 of file matrix_proxy.hpp.

§ operator=() [2/2]

template<class M>
template<class E >
matrix_range& shark::blas::matrix_range< M >::operator= ( matrix_expression< E > const &  e)
inline

Definition at line 1200 of file matrix_proxy.hpp.

§ range1()

template<class M>
range const& shark::blas::matrix_range< M >::range1 ( ) const
inline

Definition at line 1147 of file matrix_proxy.hpp.

§ range2()

template<class M>
range const& shark::blas::matrix_range< M >::range2 ( ) const
inline

Definition at line 1150 of file matrix_proxy.hpp.

§ reserve()

template<class M>
void shark::blas::matrix_range< M >::reserve ( size_type  )
inline

Definition at line 1278 of file matrix_proxy.hpp.

§ reserve_column()

template<class M>
void shark::blas::matrix_range< M >::reserve_column ( size_type  ,
size_type   
)
inline

Definition at line 1280 of file matrix_proxy.hpp.

§ reserve_row()

template<class M>
void shark::blas::matrix_range< M >::reserve_row ( size_type  ,
size_type   
)
inline

Definition at line 1279 of file matrix_proxy.hpp.

§ row_begin() [1/2]

template<class M>
const_row_iterator shark::blas::matrix_range< M >::row_begin ( index_type  i) const
inline

Definition at line 1211 of file matrix_proxy.hpp.

§ row_begin() [2/2]

template<class M>
row_iterator shark::blas::matrix_range< M >::row_begin ( index_type  i)
inline

Definition at line 1217 of file matrix_proxy.hpp.

§ row_end() [1/2]

template<class M>
const_row_iterator shark::blas::matrix_range< M >::row_end ( index_type  i) const
inline

Definition at line 1223 of file matrix_proxy.hpp.

§ row_end() [2/2]

template<class M>
row_iterator shark::blas::matrix_range< M >::row_end ( index_type  i)
inline

Definition at line 1229 of file matrix_proxy.hpp.

§ set_element()

template<class M>
major_iterator shark::blas::matrix_range< M >::set_element ( major_iterator  pos,
index_type  index,
value_type  value 
)
inline

Definition at line 1261 of file matrix_proxy.hpp.

§ size1()

template<class M>
size_type shark::blas::matrix_range< M >::size1 ( ) const
inline

Returns the number of rows of the matrix.

Definition at line 1159 of file matrix_proxy.hpp.

§ size2()

template<class M>
size_type shark::blas::matrix_range< M >::size2 ( ) const
inline

Returns the number of columns of the matrix.

Definition at line 1163 of file matrix_proxy.hpp.

§ start1()

template<class M>
size_type shark::blas::matrix_range< M >::start1 ( ) const
inline

Definition at line 1133 of file matrix_proxy.hpp.

§ start2()

template<class M>
size_type shark::blas::matrix_range< M >::start2 ( ) const
inline

Definition at line 1136 of file matrix_proxy.hpp.

§ storage()

template<class M>
pointer shark::blas::matrix_range< M >::storage ( ) const
inline

Returns the pointer to the beginning of the matrix storage.

Grants low-level access to the matrix internals. Element order depends on whether the matrix is row_major or column_major. to access element (i,j) use storage()[i*stride1()+j*stride2()].

Definition at line 1180 of file matrix_proxy.hpp.

§ stride1()

template<class M>
difference_type shark::blas::matrix_range< M >::stride1 ( ) const
inline

Returns the stride in memory between two rows.

Definition at line 1168 of file matrix_proxy.hpp.

§ stride2()

template<class M>
difference_type shark::blas::matrix_range< M >::stride2 ( ) const
inline

Returns the stride in memory between two columns.

Definition at line 1172 of file matrix_proxy.hpp.


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