podarray_proto.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 template<typename T1>
00024 class podarray
00025 {
00026 public:
00027
00028
00029 const u32 n_elem;
00030
00031
00032 arma_aligned const T1* const mem;
00033
00034 protected:
00035
00036 arma_aligned T1 mem_local[ 16 ];
00037
00038
00039 public:
00040
00041 inline ~podarray();
00042 inline podarray();
00043
00044 inline podarray (const podarray& x);
00045 inline const podarray& operator=(const podarray& x);
00046
00047 arma_inline explicit podarray(const u32 new_N);
00048
00049 arma_inline T1& operator[] (const u32 i);
00050 arma_inline T1 operator[] (const u32 i) const;
00051
00052 arma_inline T1& operator() (const u32 i);
00053 arma_inline T1 operator() (const u32 i) const;
00054
00055 inline void set_size(const u32 new_n_elem);
00056 inline void fill(const T1 val);
00057
00058 inline void zeros();
00059 inline void zeros(const u32 new_n_elem);
00060
00061 arma_inline T1* memptr();
00062 arma_inline const T1* memptr() const;
00063
00064
00065 protected:
00066
00067 inline void init(const u32 new_n_elem);
00068
00069 };
00070
00071