added filter_iterator convenience
authorMichael Andres <ma@suse.de>
Thu, 6 Apr 2006 22:58:45 +0000 (22:58 +0000)
committerMichael Andres <ma@suse.de>
Thu, 6 Apr 2006 22:58:45 +0000 (22:58 +0000)
zypp/base/Iterator.h

index 9761d0d..17c36c5 100644 (file)
@@ -101,6 +101,14 @@ namespace zypp
       return make_filter_iterator( f, c.begin(), c.end() );
     }
 
+  /** Convenience to create filter_iterator from container::begin(). */
+  template<class _Filter, class _Container>
+    filter_iterator<_Filter, typename _Container::const_iterator>
+    make_filter_begin( const _Container & c )
+    {
+      return make_filter_iterator( _Filter(), c.begin(), c.end() );
+    }
+
   /** Convenience to create filter_iterator from container::end(). */
   template<class _Filter, class _Container>
     filter_iterator<_Filter, typename _Container::const_iterator>
@@ -109,6 +117,14 @@ namespace zypp
       return make_filter_iterator( f, c.end(), c.end() );
     }
 
+  /** Convenience to create filter_iterator from container::end(). */
+  template<class _Filter, class _Container>
+    filter_iterator<_Filter, typename _Container::const_iterator>
+    make_filter_end( const _Container & c )
+    {
+      return make_filter_iterator( _Filter(), c.end(), c.end() );
+    }
+
   /** \class transform_iterator
    * An iterator over elements which are the result of applying
    * some functional transformation to the elements of an underlying