Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Friends

subview_cube< eT > Class Template Reference
[Subview_cube]

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

#include <subview_cube_proto.hpp>

Inheritance diagram for subview_cube< eT >:
BaseCube< eT, subview_cube< eT > >

List of all members.

Public Types

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

Public Member Functions

 ~subview_cube ()
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 BaseCube< eT, T1 > &x)
template<typename T1 >
void operator+= (const BaseCube< eT, T1 > &x)
template<typename T1 >
void operator-= (const BaseCube< eT, T1 > &x)
template<typename T1 >
void operator%= (const BaseCube< eT, T1 > &x)
template<typename T1 >
void operator/= (const BaseCube< eT, T1 > &x)
void operator= (const subview_cube &x)
 x.subcube(...) = y.subcube(...)
void operator+= (const subview_cube &x)
void operator-= (const subview_cube &x)
void operator%= (const subview_cube &x)
void operator/= (const subview_cube &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)
template<typename T1 >
void operator/= (const Base< eT, T1 > &x)
void fill (const eT val)
void zeros ()
void ones ()
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, const u32 in_slice)
arma_inline eT operator() (const u32 in_row, const u32 in_col, const u32 in_slice) const
arma_inline eT & at (const u32 in_row, const u32 in_col, const u32 in_slice)
arma_inline eT at (const u32 in_row, const u32 in_col, const u32 in_slice) const
arma_inline eT * slice_colptr (const u32 in_slice, const u32 in_col)
arma_inline const eT * slice_colptr (const u32 in_slice, const u32 in_col) const
bool check_overlap (const subview_cube &x) const
bool check_overlap (const Mat< eT > &x) const

Static Public Member Functions

static void extract (Cube< eT > &out, const subview_cube &in)
 cube X = Y.subcube(...)
static void extract (Mat< eT > &out, const subview_cube &in)
 mat X = Y.subcube(...)
static void plus_inplace (Cube< eT > &out, const subview_cube &in)
 cube X += Y.subcube(...)
static void minus_inplace (Cube< eT > &out, const subview_cube &in)
 cube X -= Y.subcube(...)
static void schur_inplace (Cube< eT > &out, const subview_cube &in)
 cube X = Y.subcube(...)
static void div_inplace (Cube< eT > &out, const subview_cube &in)
 cube X /= Y.subcube(...)
static void plus_inplace (Mat< eT > &out, const subview_cube &in)
 mat X += Y.subcube(...)
static void minus_inplace (Mat< eT > &out, const subview_cube &in)
 mat X -= Y.subcube(...)
static void schur_inplace (Mat< eT > &out, const subview_cube &in)
 mat X = Y.subcube(...)
static void div_inplace (Mat< eT > &out, const subview_cube &in)
 mat X /= Y.subcube(...)

Public Attributes

arma_aligned const Cube< eT > & m
const u32 aux_row1
const u32 aux_col1
const u32 aux_slice1
const u32 aux_row2
const u32 aux_col2
const u32 aux_slice2
const u32 n_rows
const u32 n_cols
const u32 n_elem_slice
const u32 n_slices
const u32 n_elem

Protected Member Functions

arma_inline subview_cube (const Cube< eT > &in_m, const u32 in_row1, const u32 in_col1, const u32 in_slice1, const u32 in_row2, const u32 in_col2, const u32 in_slice2)
arma_inline subview_cube (Cube< eT > &in_m, const u32 in_row1, const u32 in_col1, const u32 in_slice1, const u32 in_row2, const u32 in_col2, const u32 in_slice2)

Protected Attributes

arma_aligned Cube< eT > * m_ptr

Private Member Functions

 subview_cube ()

Friends

class Mat< eT >
class Cube< eT >

Detailed Description

template<typename eT>
class subview_cube< eT >

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

Definition at line 24 of file subview_cube_proto.hpp.


Member Typedef Documentation

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

Definition at line 31 of file subview_cube_proto.hpp.

template<typename eT>
typedef get_pod_type<elem_type>::result subview_cube< eT >::pod_type

Definition at line 32 of file subview_cube_proto.hpp.


Constructor & Destructor Documentation

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

Friends And Related Function Documentation

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

Definition at line 121 of file subview_cube_proto.hpp.

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

Definition at line 122 of file subview_cube_proto.hpp.


Member Data Documentation

template<typename eT>
arma_aligned Cube<eT>* subview_cube< eT >::m_ptr [protected]
template<typename eT>
const u32 subview_cube< eT >::n_elem_slice
template<typename eT>
const u32 subview_cube< eT >::n_elem

Definition at line 46 of file subview_cube_proto.hpp.

Referenced by subview_cube< eT >::operator()().