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<_OutputIterator>
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 _OutputIterator>
39 _Collector( _OutputIterator iter_r ) : _iter( iter_r ) {}
42 bool operator()( const _Tp & value_r ) const
49 mutable _OutputIterator _iter;
51 ///////////////////////////////////////////////////////////////////
53 /** \relates _Collector Convenience constructor. */
54 template<class _OutputIterator>
55 inline _Collector<_OutputIterator> Collector( _OutputIterator iter_r )
56 { return _Collector<_OutputIterator>( iter_r ); }
58 ///////////////////////////////////////////////////////////////////
60 /////////////////////////////////////////////////////////////////
61 } // namespace functor
62 ///////////////////////////////////////////////////////////////////
63 /////////////////////////////////////////////////////////////////
65 ///////////////////////////////////////////////////////////////////
66 #endif // ZYPP_BASE_COLLECTOR_H