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 > > subview_col< eT > subview_row< 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)
 x.submat(...) = y.submat(...)
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)
 X = Y.submat(...).
static void plus_inplace (Mat< eT > &out, const subview &in)
 X += Y.submat(...).
static void times_inplace (Mat< eT > &out, const subview &in)
 X *= Y.submat(...).
static void minus_inplace (Mat< eT > &out, const subview &in)
 X -= Y.submat(...).
static void schur_inplace (Mat< eT > &out, const subview &in)
 X = Y.submat(...).
static void div_inplace (Mat< eT > &out, const subview &in)
 X /= Y.submat(...).

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 >
subview< eT >::subview (  )  [private]


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