git-svn-id: svn://db.shs.com.ru/pip@472 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-04-26 14:47:02 +00:00
parent 9c3a2cf8ca
commit c711bfb9a3
3 changed files with 39 additions and 12 deletions

View File

@@ -11,6 +11,12 @@ public:
cols_ = cols;
mat.resize(rows*cols, f);
}
inline PIFrame(size_t rows, size_t cols, const PIVector<T> & v) {
mat = v;
rows_ = rows;
cols_ = cols;
mat.resize(rows*cols);
}
inline PIFrame(const PIVector<PIVector<T> > & v) {
rows_ = v.size();
if (rows_) {
@@ -25,9 +31,8 @@ public:
inline size_t rows() const {return rows_;}
inline size_t cols() const {return cols_;}
// inline size_t size() const {return mat.size();}
// inline ssize_t size_s() const {return mat.size_s();}
inline size_t length() const {return mat.length();}
inline size_t size_all() const {return mat.size();}
inline ssize_t size_s_all() const {return mat.size_s();}
inline bool isEmpty() const {return mat.isEmpty();}
class PIFrameRow {
@@ -57,7 +62,13 @@ public:
inline PIFrameRow operator[](size_t index) {return PIFrameRow(this, index);}
inline PIFrameRowConst operator[](size_t index) const {return PIFrameRowConst(this, index);}
PIVector<PIVector<T> > toVectors() const {
PIVector<PIVector<T> > ret;
for(size_t i = 0; i < rows_; ++i)
ret << PIVector<T>(mat.data(i*cols_), cols_);
return ret;
}
PIVector<T> toPlainVector() const {return mat;}
private:
size_t rows_, cols_;