From b7db8defb985d117a56e7b50fd0200e781bb6a09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Radovan=20=C4=8Cerven=C3=BD?= <radovan.cerveny@gmail.com>
Date: Thu, 11 Feb 2016 15:18:02 +0100
Subject: [PATCH] removed stealth_allocator ofstream operator, made vector.hpp
 operators allocator indifferent

---
 .../src/measurements/MeasurementTypes.hpp        | 16 ----------------
 alib2std/src/extensions/vector.hpp               | 10 +++++-----
 2 files changed, 5 insertions(+), 21 deletions(-)

diff --git a/alib2measure/src/measurements/MeasurementTypes.hpp b/alib2measure/src/measurements/MeasurementTypes.hpp
index 2587077fdc..b1338a7824 100644
--- a/alib2measure/src/measurements/MeasurementTypes.hpp
+++ b/alib2measure/src/measurements/MeasurementTypes.hpp
@@ -46,22 +46,6 @@ std::string to_string ( stealth_string & );
 template < typename T >
 using stealth_vector = std::vector < T, stealth_allocator < T > >;
 
-template < typename T >
-std::ostream & operator <<( std::ostream & os, const stealth_vector < T > & vec ) {
-	os << "[";
-
-	bool first = true;
-
-	for ( const T & elem : vec ) {
-		if ( !first ) os << ", ";
-
-		first = false;
-		os << elem;
-	}
-
-	return os << "]";
-}
-
 template < class Key, class T, class Compare = std::less < Key > >
 using stealth_map = std::map < Key, T, Compare, stealth_allocator < std::pair < const Key, T > > >;
 }
diff --git a/alib2std/src/extensions/vector.hpp b/alib2std/src/extensions/vector.hpp
index 7f6b0d59a9..268dfcbbb1 100644
--- a/alib2std/src/extensions/vector.hpp
+++ b/alib2std/src/extensions/vector.hpp
@@ -162,8 +162,8 @@ public:
 	}
 };
 
-template< class T >
-std::ostream& operator<<(std::ostream& out, const std::vector<T>& vector) {
+template< class T , class Allocator >
+std::ostream& operator<<(std::ostream& out, const std::vector<T, Allocator>& vector) {
 	out << "[";
 
 	bool first = true;
@@ -192,9 +192,9 @@ std::ostream& operator<<(std::ostream& out, const std::ptr_vector<T>& vector) {
 	return out;
 }
 
-template<class T>
-struct compare<vector<T>> {
-	int operator()(const vector<T>& first, const vector<T>& second) const {
+template<class T, class Allocator>
+struct compare<vector<T, Allocator>> {
+	int operator()(const vector<T, Allocator>& first, const vector<T, Allocator>& second) const {
 		if(first.size() < second.size()) return -1;
 		if(first.size() > second.size()) return 1;
 
-- 
GitLab