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

This commit is contained in:
2017-06-22 14:31:43 +00:00
parent 10bbb59ae8
commit d9272f68e4
2 changed files with 13 additions and 6 deletions

View File

@@ -3,17 +3,15 @@
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
/*PIVector2D<PIVariant> v(2, 2, PIVector<PIVariant>() << PIVariant(1) << PIVariant(2) << PIVariant(3) << PIVariant(4)); PIVector2D<double> v(2, 2, PIVector<double>() << 1 << 2 << 3 << 4);
piCout << v; piCout << v;
PIByteArray ba; PIByteArray ba;
ba << v; ba << v;
piCout << ba.size(); piCout << ba.size();
PIVector2D<PIVariant> v2; PIVector2D<double> v2;
ba >> v2; ba >> v2;
piCout << v2;*/ piCout << v2;
double f = 10.0002; piCout << v2[0][1];
PIString s = PIString::fromNumber(f, 'g', 6);
piCout << s;
return 0; return 0;
} }

View File

@@ -27,6 +27,13 @@
#include "pivector.h" #include "pivector.h"
/*! \brief 2D array,
* \details This class used to store 2D array of any type elements as plain vector.
* You can read/write any element via operators [][], first dimension - row, second - column.
* The first dimension is Row, and you can operate with Row as PIVector<T>: modify any element, assign to another Row and etc.
* You can't add values to array, but you can modify any elements or create another PIVector2D.
* PIVector2D has constructors from PIVector<T> and PIVector<PIVector<T> >
*/
template <typename T> template <typename T>
class PIVector2D { class PIVector2D {
@@ -125,6 +132,8 @@ public:
return ret; return ret;
} }
PIVector<T> toPlainVector() const {return mat;} PIVector<T> toPlainVector() const {return mat;}
PIVector<T> & plainVector() {return mat;}
const PIVector<T> & plainVector() const {return mat;}
inline PIVector2D<T> & _resizeRaw(size_t r, size_t c) { inline PIVector2D<T> & _resizeRaw(size_t r, size_t c) {
piCout << "Error, \"resizeRaw()\" only allowed for simple type declared with __PIVECTOR_SIMPLE_TYPE__ macro!"; piCout << "Error, \"resizeRaw()\" only allowed for simple type declared with __PIVECTOR_SIMPLE_TYPE__ macro!";