diff --git a/alib2std/src/extensions/ptr_array.hpp b/alib2std/src/extensions/ptr_array.hpp
index 0f9b348fd9dc9a8beb231432a0bd0e72e11d1cbf..4d88d22f417d27640962277d90533c020986d5cf 100644
--- a/alib2std/src/extensions/ptr_array.hpp
+++ b/alib2std/src/extensions/ptr_array.hpp
@@ -247,11 +247,6 @@ public:
 
 namespace std {
 
-template < class ... Ts >
-void swap ( ext::ptr_array < Ts ... > & first, ext::ptr_array < Ts ... > & second ) {
-	first.swap ( second );
-}
-
 template < std::size_t I, class Type, std::size_t N >
 auto & get ( ext::ptr_array < Type, N > & tpl ) {
 	return tpl.template get < I > ( );
diff --git a/alib2std/src/extensions/ptr_tuple.hpp b/alib2std/src/extensions/ptr_tuple.hpp
index 005406475b09ea5024d299d4f74ee11a226898d6..247dab7a5536da76402c1a67d7bb13caeb9bcea7 100644
--- a/alib2std/src/extensions/ptr_tuple.hpp
+++ b/alib2std/src/extensions/ptr_tuple.hpp
@@ -185,11 +185,6 @@ bool operator >= ( const ptr_tuple < T > & first, const ptr_tuple < T > & second
 
 namespace std {
 
-template < class ... Ts >
-void swap ( ext::ptr_tuple < Ts ... > & first, ext::ptr_tuple < Ts ... > & second ) {
-	first.swap ( second );
-}
-
 template < std::size_t I, class ... Types >
 auto & get ( ext::ptr_tuple < Types ... > & tpl ) {
 	return tpl.template get < I > ( );
diff --git a/alib2std/src/extensions/ptr_vector.hpp b/alib2std/src/extensions/ptr_vector.hpp
index 9234646a4d8030c40d7c42f2523300960d704eab..b0e0fcb70c3285b309a01cf55953355c8500884e 100644
--- a/alib2std/src/extensions/ptr_vector.hpp
+++ b/alib2std/src/extensions/ptr_vector.hpp
@@ -349,19 +349,6 @@ public:
 
 };
 
-} /* namespace ext */
-
-namespace std {
-
-template < class ... Ts >
-void swap ( ext::ptr_vector < Ts ... > & first, ext::ptr_vector < Ts ... > & second ) {
-	first.swap ( second );
-}
-
-} /* namespace std */
-
-namespace ext {
-
 template< class T >
 std::ostream& operator<<(std::ostream& out, const ext::ptr_vector < T > & ptr_vector) {
 	out << "[";