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
00024
00025
00026
00027
00034 #ifndef KEYVALUE_VALUE_VECTOR_H_
00035 #define KEYVALUE_VALUE_VECTOR_H_
00036
00037 #include <iosfwd>
00038
00039 #include "keyvalue/extern/Vector.h"
00040 #include "keyvalue/value/Matrix.h"
00041
00042 namespace keyvalue {
00043 namespace value {
00044
00052 class Vector : public Matrix {
00053
00054 public:
00055
00068 explicit
00069 Vector(size_t size = 1, bool isRow = false);
00070
00088 template <typename ElementType>
00089 Vector(const vector<ElementType>& data, bool isRow = false);
00090
00096 size_t
00097 getSize() const;
00098
00111 void
00112 resize(size_t size);
00113
00127 const Variant&
00128 operator()(size_t i) const;
00129
00133 Variant&
00134 operator()(size_t i);
00135
00139 void
00140 transpose();
00141
00142 };
00143
00149 ::std::ostream&
00150 operator<<(::std::ostream& os, const Vector& vector);
00151
00161 template <typename Rhs>
00162 struct Parent;
00163
00164 template <typename T>
00165 struct Parent<vector<T> > {
00166 typedef Vector Type_;
00167 };
00168
00169 }
00170 }
00171
00172 #endif // KEYVALUE_VALUE_VECTOR_H_