diff --git a/alib2measure/src/measurements/MeasurementTypes.hpp b/alib2measure/src/measurements/MeasurementTypes.hpp
index 2587077fdca2f55f915c2b61ec57de7de4e68e3f..b1338a78247b7cc208b6a3e164bfa06fbd355d53 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 7f6b0d59a9a58a66eebced02552f7eb34e519acd..268dfcbbb100be7e22d0cc5a273b9bcedcdd60a8 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;