aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-05-19 22:49:47 +0100
committerYann Herklotz <ymherklotz@gmail.com>2017-05-19 22:49:47 +0100
commit3014c3bc831d613c2de7513aefdc7d3cb711b749 (patch)
tree658734c4f51f5f395a25dd0f6115b2d74db38584 /include
parent8685dbe55fdd50a6a3ce5bab495b9718330af8dd (diff)
downloadYAGE-3014c3bc831d613c2de7513aefdc7d3cb711b749.tar.gz
YAGE-3014c3bc831d613c2de7513aefdc7d3cb711b749.zip
Fixed cmake and making precise vector
Diffstat (limited to 'include')
-rw-r--r--include/YAGE/Math/vector.hpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/include/YAGE/Math/vector.hpp b/include/YAGE/Math/vector.hpp
index 39553a49..83c16502 100644
--- a/include/YAGE/Math/vector.hpp
+++ b/include/YAGE/Math/vector.hpp
@@ -1,6 +1,7 @@
#ifndef YAGE_MATH_VECTOR_HPP
#define YAGE_MATH_VECTOR_HPP
+#include <ostream>
#include <vector>
namespace yage
@@ -13,7 +14,7 @@ protected:
public:
Vector()=delete;
- virtual ~Vector();
+ virtual ~Vector() {}
inline long double &operator[](std::size_t index)
{
@@ -24,6 +25,12 @@ public:
{
return members_[index];
}
+
+ inline Vector &operator=(const Vector &other)
+ {
+ this->members_=other.members_;
+ return *this;
+ }
inline Vector &operator+()
{
@@ -124,8 +131,19 @@ public:
return Vector(mem);
}
+ friend inline std::ostream &operator<<(std::ostream &os, const Vector &object)
+ {
+ os<<"(";
+ for(std::size_t i=0; i<object.members_.size()-1; ++i)
+ {
+ os<<object.members_[i]<<", ";
+ }
+ os<<object.members_[object.members_.size()-1]<<")";
+ return os;
+ }
+
protected:
- Vector(const std::vector<long double> &members);
+ Vector(const std::vector<long double> &members) : members_(members) {}
};
} // yage