subview< eT > Class Template Reference
[Subview]

Class for storing data required to construct or apply operations to a submatrix (i.e. where the submatrix starts and ends as well as a reference/pointer to the original matrix),. More...

#include <subview_proto.hpp>

Inheritance diagram for subview< eT >:

Base< eT, subview< eT > >

List of all members.

Public Types

typedef eT elem_type
typedef get_pod_type
< elem_type >::pod_type 
pod_type

Public Member Functions

 ~subview ()
void operator+= (const eT val)
void operator-= (const eT val)
void operator*= (const eT val)
void operator/= (const eT val)
template<typename T1 >
void operator= (const Base< eT, T1 > &x)
template<typename T1 >
void operator+= (const Base< eT, T1 > &x)
template<typename T1 >
void operator-= (const Base< eT, T1 > &x)
template<typename T1 >
void operator%= (const Base< eT, T1 > &x)
template<typename T1 >
void operator/= (const Base< eT, T1 > &x)
void operator= (const subview &x)
void operator+= (const subview &x)
void operator-= (const subview &x)
void operator%= (const subview &x)
void operator/= (const subview &x)
void fill (const eT val)
void zeros ()
arma_inline eT & operator[] (const u32 i)
arma_inline eT operator[] (const u32 i) const
arma_inline eT & operator() (const u32 i)
arma_inline eT operator() (const u32 i) const
arma_inline eT & operator() (const u32 in_row, const u32 in_col)
arma_inline eT operator() (const u32 in_row, const u32 in_col) const
arma_inline eT & at (const u32 in_row, const u32 in_col)
arma_inline eT at (const u32 in_row, const u32 in_col) const
arma_inline eT * colptr (const u32 in_col)
arma_inline const eT * colptr (const u32 in_col) const
bool check_overlap (const subview &x) const

Static Public Member Functions

static void extract (Mat< eT > &out, const subview &in)
static void plus_inplace (Mat< eT > &out, const subview &in)
static void times_inplace (Mat< eT > &out, const subview &in)
static void minus_inplace (Mat< eT > &out, const subview &in)
static void schur_inplace (Mat< eT > &out, const subview &in)
static void div_inplace (Mat< eT > &out, const subview &in)

Public Attributes

arma_aligned const Mat< eT > & m
const u32 aux_row1
const u32 aux_col1
const u32 aux_row2
const u32 aux_col2
const u32 n_rows
const u32 n_cols
const u32 n_elem

Protected Member Functions

arma_inline subview (const Mat< eT > &in_m, const u32 in_row1, const u32 in_col1, const u32 in_row2, const u32 in_col2)
arma_inline subview (Mat< eT > &in_m, const u32 in_row1, const u32 in_col1, const u32 in_row2, const u32 in_col2)

Protected Attributes

arma_aligned Mat< eT > * m_ptr

Private Member Functions

 subview ()

Friends

class Mat< eT >


Detailed Description

template<typename eT>
class subview< eT >

Class for storing data required to construct or apply operations to a submatrix (i.e. where the submatrix starts and ends as well as a reference/pointer to the original matrix),.

Definition at line 23 of file subview_proto.hpp.


Member Typedef Documentation

template<typename eT>
typedef eT subview< eT >::elem_type

Reimplemented in subview_col< eT >, and subview_row< eT >.

Definition at line 30 of file subview_proto.hpp.

template<typename eT>
typedef get_pod_type<elem_type>::pod_type subview< eT >::pod_type

Reimplemented in subview_col< eT >, and subview_row< eT >.

Definition at line 31 of file subview_proto.hpp.


Constructor & Destructor Documentation

template<typename eT>
arma_inline subview< eT >::subview ( const Mat< eT > &  in_m,
const u32  in_row1,
const u32  in_col1,
const u32  in_row2,
const u32  in_col2 
) [protected]

template<typename eT>
arma_inline subview< eT >::subview ( Mat< eT > &  in_m,
const u32  in_row1,
const u32  in_col1,
const u32  in_row2,
const u32  in_col2 
) [protected]

template<typename eT>
subview< eT >::~subview (  )  [inline]

template<typename eT>
subview< eT >::subview (  )  [private]


Member Function Documentation

template<typename eT>
void subview< eT >::operator+= ( const eT  val  )  [inline]

template<typename eT>
void subview< eT >::operator-= ( const eT  val  )  [inline]

template<typename eT>
void subview< eT >::operator*= ( const eT  val  )  [inline]

template<typename eT>
void subview< eT >::operator/= ( const eT  val  )  [inline]

template<typename eT>
template<typename T1 >
void subview< eT >::operator= ( const Base< eT, T1 > &  x  )  [inline]

Reimplemented in subview_col< eT >, and subview_row< eT >.

template<typename eT>
template<typename T1 >
void subview< eT >::operator+= ( const Base< eT, T1 > &  x  )  [inline]

template<typename eT>
template<typename T1 >
void subview< eT >::operator-= ( const Base< eT, T1 > &  x  )  [inline]

template<typename eT>
template<typename T1 >
void subview< eT >::operator%= ( const Base< eT, T1 > &  x  )  [inline]

template<typename eT>
template<typename T1 >
void subview< eT >::operator/= ( const Base< eT, T1 > &  x  )  [inline]

template<typename eT>
void subview< eT >::operator= ( const subview< eT > &  x  )  [inline]

Reimplemented in subview_col< eT >, and subview_row< eT >.

template<typename eT>
void subview< eT >::operator+= ( const subview< eT > &  x  )  [inline]

template<typename eT>
void subview< eT >::operator-= ( const subview< eT > &  x  )  [inline]

template<typename eT>
void subview< eT >::operator%= ( const subview< eT > &  x  )  [inline]

template<typename eT>
void subview< eT >::operator/= ( const subview< eT > &  x  )  [inline]

template<typename eT>
static void subview< eT >::extract ( Mat< eT > &  out,
const subview< eT > &  in 
) [inline, static]

template<typename eT>
static void subview< eT >::plus_inplace ( Mat< eT > &  out,
const subview< eT > &  in 
) [inline, static]

template<typename eT>
static void subview< eT >::times_inplace ( Mat< eT > &  out,
const subview< eT > &  in 
) [inline, static]

template<typename eT>
static void subview< eT >::minus_inplace ( Mat< eT > &  out,
const subview< eT > &  in 
) [inline, static]

template<typename eT>
static void subview< eT >::schur_inplace ( Mat< eT > &  out,
const subview< eT > &  in 
) [inline, static]

template<typename eT>
static void subview< eT >::div_inplace ( Mat< eT > &  out,
const subview< eT > &  in 
) [inline, static]

template<typename eT>
void subview< eT >::fill ( const eT  val  )  [inline]

template<typename eT>
void subview< eT >::zeros (  )  [inline]

template<typename eT>
arma_inline eT& subview< eT >::operator[] ( const u32  i  ) 

template<typename eT>
arma_inline eT subview< eT >::operator[] ( const u32  i  )  const

template<typename eT>
arma_inline eT& subview< eT >::operator() ( const u32  i  ) 

template<typename eT>
arma_inline eT subview< eT >::operator() ( const u32  i  )  const

template<typename eT>
arma_inline eT& subview< eT >::operator() ( const u32  in_row,
const u32  in_col 
)

template<typename eT>
arma_inline eT subview< eT >::operator() ( const u32  in_row,
const u32  in_col 
) const

template<typename eT>
arma_inline eT& subview< eT >::at ( const u32  in_row,
const u32  in_col 
)

template<typename eT>
arma_inline eT subview< eT >::at ( const u32  in_row,
const u32  in_col 
) const

template<typename eT>
arma_inline eT* subview< eT >::colptr ( const u32  in_col  ) 

template<typename eT>
arma_inline const eT* subview< eT >::colptr ( const u32  in_col  )  const

template<typename eT>
bool subview< eT >::check_overlap ( const subview< eT > &  x  )  const [inline]


Friends And Related Function Documentation

template<typename eT>
friend class Mat< eT > [friend]

Reimplemented in subview_col< eT >, and subview_row< eT >.

Definition at line 103 of file subview_proto.hpp.


Member Data Documentation

template<typename eT>
arma_aligned const Mat<eT>& subview< eT >::m

template<typename eT>
arma_aligned Mat<eT>* subview< eT >::m_ptr [protected]

template<typename eT>
const u32 subview< eT >::aux_row1

template<typename eT>
const u32 subview< eT >::aux_col1

template<typename eT>
const u32 subview< eT >::aux_row2

template<typename eT>
const u32 subview< eT >::aux_col2

template<typename eT>
const u32 subview< eT >::n_rows

template<typename eT>
const u32 subview< eT >::n_cols

template<typename eT>
const u32 subview< eT >::n_elem