diff --git a/alib2std/src/extensions/vector.hpp b/alib2std/src/extensions/vector.hpp
index ac38f9ceea79286b874a0613150394d645af8630..52c4af268ca1bb791e7fa8a41ba7c2fa2241a904 100644
--- a/alib2std/src/extensions/vector.hpp
+++ b/alib2std/src/extensions/vector.hpp
@@ -241,6 +241,25 @@ vector < bool, Ts ... > operator >> ( vector < bool, Ts ... > A, size_t dist ) {
 	return A;
 }
 
+template < class ... Ts >
+bool any ( const vector < bool, Ts ... > & v ) {
+	size_t sizeWithin = v.size ( ) % vectorBoolInternalTypeInBits;
+
+	typename vector < bool, Ts ... >::const_iterator itV = v.begin ( );
+
+	// c++ implementation-specific
+	while ( itV + 1 < v.end ( ) )
+		if ( * ( itV._M_p ++ ) != 0 )
+			return true;
+
+	if ( sizeWithin == 0 )
+		return * itV._M_p != 0;
+	else {
+		vectorBoolInternalType maskTopWord = getMask ( sizeWithin );
+		return ( * itV._M_p & maskTopWord ) != 0;
+	}
+}
+
 } /* namespace std */
 
 #endif /* __VECTOR_HPP_ */