Collector.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_BASE_COLLECTOR_H
00013 #define ZYPP_BASE_COLLECTOR_H
00014
00016 namespace zypp
00017 {
00018
00019 namespace functor
00020 {
00021
00023
00024
00025
00036 template<class _OutputIterator>
00037 struct _Collector
00038 {
00039 _Collector( _OutputIterator iter_r ) : _iter( iter_r ) {}
00040
00041 template<class _Tp>
00042 bool operator()( const _Tp & value_r ) const
00043 {
00044 *_iter++ = value_r;
00045 return true;
00046 }
00047
00048 private:
00049 mutable _OutputIterator _iter;
00050 };
00052
00054 template<class _OutputIterator>
00055 inline _Collector<_OutputIterator> Collector( _OutputIterator iter_r )
00056 { return _Collector<_OutputIterator>( iter_r ); }
00057
00059
00061 }
00064 }
00066 #endif // ZYPP_BASE_COLLECTOR_H