1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/base/Collector.h
12 #ifndef ZYPP_BASE_COLLECTOR_H
13 #define ZYPP_BASE_COLLECTOR_H
15 ///////////////////////////////////////////////////////////////////
17 { /////////////////////////////////////////////////////////////////
18 ///////////////////////////////////////////////////////////////////
20 { /////////////////////////////////////////////////////////////////
22 ///////////////////////////////////////////////////////////////////
24 // CLASS NAME : Collector<TOutputIterator>
26 /** Functor feeding values to an output_iterator.
30 * for_each( begin(), end(),
31 * collector( std::inserter( locales_r, locales_r.begin() ) ) );
34 * \see Convenience constructor \ref collector.
36 template<class TOutputIterator>
39 Collector( TOutputIterator iter_r ) : _iter( iter_r ) {}
42 bool operator()( const Tp & value_r ) const
49 mutable TOutputIterator _iter;
51 ///////////////////////////////////////////////////////////////////
53 /** \relates Collector Convenience constructor. */
54 template<class TOutputIterator>
55 inline Collector<TOutputIterator> collector( TOutputIterator iter_r )
56 { return Collector<TOutputIterator>( iter_r ); }
58 ///////////////////////////////////////////////////////////////////
60 /////////////////////////////////////////////////////////////////
61 } // namespace functor
62 ///////////////////////////////////////////////////////////////////
63 /////////////////////////////////////////////////////////////////
65 ///////////////////////////////////////////////////////////////////
66 #endif // ZYPP_BASE_COLLECTOR_H