Col_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 template<typename eT>
00022 class Col : public Mat<eT>, public BaseVec< eT, Col<eT> >
00023 {
00024 public:
00025
00026 typedef eT elem_type;
00027 typedef typename get_pod_type<elem_type>::pod_type pod_type;
00028
00029
00030 inline Col();
00031 inline explicit Col(const u32 n_elem);
00032 inline Col(const u32 in_rows, const u32 in_cols);
00033
00034 inline Col(const char* text);
00035 inline const Col& operator=(const char* text);
00036 inline Col(const std::string& text);
00037 inline const Col& operator=(const std::string& text);
00038
00039 inline Col(const Col& X);
00040 inline const Col& operator=(const Col& X);
00041
00042
00043 inline Col(const Mat<eT>& X);
00044 inline const Col& operator=(const Mat<eT>& X);
00045 inline const Col& operator*=(const Mat<eT>& X);
00046
00047 inline Col( eT* aux_mem, const u32 aux_n_rows, const u32 aux_n_cols, const bool copy_aux_mem = true);
00048 inline Col(const eT* aux_mem, const u32 aux_n_rows, const u32 aux_n_cols);
00049
00050 inline Col( eT* aux_mem, const u32 aux_length, const bool copy_aux_mem = true);
00051 inline Col(const eT* aux_mem, const u32 aux_length);
00052
00053 template<typename T1, typename T2>
00054 inline explicit Col(const Base<pod_type,T1>& A, const Base<pod_type,T2>& B);
00055
00056 inline Col(const subview<eT>& X);
00057 inline const Col& operator=(const subview<eT>& X);
00058 inline const Col& operator*=(const subview<eT>& X);
00059
00060 inline Col(const subview_cube<eT>& X);
00061 inline const Col& operator=(const subview_cube<eT>& X);
00062 inline const Col& operator*=(const subview_cube<eT>& X);
00063
00064 inline Col(const diagview<eT>& X);
00065 inline const Col& operator=(const diagview<eT>& X);
00066 inline const Col& operator*=(const diagview<eT>& X);
00067
00068 arma_inline eT& row(const u32 row_num);
00069 arma_inline eT row(const u32 row_num) const;
00070
00071 arma_inline subview_col<eT> rows(const u32 in_row1, const u32 in_row2);
00072 arma_inline const subview_col<eT> rows(const u32 in_row1, const u32 in_row2) const;
00073
00074 template<typename T1, typename op_type> inline Col(const Op<T1, op_type>& X);
00075 template<typename T1, typename op_type> inline const Col& operator=(const Op<T1, op_type>& X);
00076 template<typename T1, typename op_type> inline const Col& operator*=(const Op<T1, op_type>& X);
00077
00078 template<typename T1, typename T2, typename glue_type> inline Col(const Glue<T1, T2, glue_type>& X);
00079 template<typename T1, typename T2, typename glue_type> inline const Col& operator=(const Glue<T1, T2, glue_type>& X);
00080 template<typename T1, typename T2, typename glue_type> inline const Col& operator*=(const Glue<T1, T2, glue_type>& X);
00081
00082 inline void set_size(const u32 n_elem);
00083 inline void set_size(const u32 n_rows, const u32 n_cols);
00084
00085 template<typename eT2>
00086 inline void copy_size(const Mat<eT2>& m);
00087
00088 inline void zeros();
00089 inline void zeros(const u32 n_elem);
00090 inline void zeros(const u32 n_rows, const u32 n_cols);
00091
00092 inline void ones();
00093 inline void ones(const u32 n_elem);
00094 inline void ones(const u32 n_rows, const u32 n_cols);
00095
00096 inline void load(const std::string name, const file_type type = auto_detect);
00097 };
00098
00099
00100