Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00016
00017
00018
00019 template<typename T1, typename eop_type>
00020 class eOpCube : public BaseCube<typename T1::elem_type, eOpCube<T1, eop_type> >
00021 {
00022 public:
00023
00024 typedef typename T1::elem_type elem_type;
00025 typedef typename get_pod_type<elem_type>::result pod_type;
00026
00027 static const bool prefer_at_accessor = ProxyCube<T1>::prefer_at_accessor;
00028 static const bool has_subview = ProxyCube<T1>::has_subview;
00029
00030 arma_aligned const ProxyCube<T1> P;
00031 arma_aligned elem_type aux;
00032 arma_aligned uword aux_uword_a;
00033 arma_aligned uword aux_uword_b;
00034 arma_aligned uword aux_uword_c;
00035
00036 inline ~eOpCube();
00037 inline explicit eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m);
00038 inline eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const elem_type in_aux);
00039 inline eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b);
00040 inline eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c);
00041 inline eOpCube(const BaseCube<typename T1::elem_type, T1>& in_m, const elem_type in_aux, const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c);
00042
00043 arma_inline uword get_n_rows() const;
00044 arma_inline uword get_n_cols() const;
00045 arma_inline uword get_n_elem_slice() const;
00046 arma_inline uword get_n_slices() const;
00047 arma_inline uword get_n_elem() const;
00048
00049 arma_inline elem_type operator[] (const uword i) const;
00050 arma_inline elem_type at (const uword row, const uword col, const uword slice) const;
00051 };
00052
00053
00054