diff options
Diffstat (limited to 'p2pvr/lib/mapIterator.h')
-rw-r--r-- | p2pvr/lib/mapIterator.h | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/p2pvr/lib/mapIterator.h b/p2pvr/lib/mapIterator.h deleted file mode 100644 index 70aa424..0000000 --- a/p2pvr/lib/mapIterator.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef MAPITERATOR_H -#define MAPITERATOR_H - -#include <iHaveSubTasks.h> -#include "objectRowState.h" - -template <typename T> -class MapIterator : public IHaveSubTasks { - public: - template <typename ... Parents> - MapIterator(const ColumnSpecifier & cs, const T * m, const Parents & ... p) : - SourceObject(__PRETTY_FUNCTION__), - IHaveSubTasks(NULL), - binder(boost::bind(&BindColumns<typename T::value_type, Parents...>, _1, _2, p...)), - columnSpecifier(cs), - map(m) - { - } - - void execute(ExecContext * ec) const - { - ObjectRowState<typename T::value_type> rs(columnSpecifier); - for (const auto & i : *map) { - binder(rs, i); - rs.process(boost::bind(&MapIterator::executeChildren, this, ec)); - } - } - - private: - boost::function<void(RowState &, const typename T::value_type &)> binder; - const ColumnSpecifier columnSpecifier; - const T * map; - - void executeChildren(ExecContext * ec) const - { - for (const Tasks::value_type & sq : normal) { - sq->execute(ec); - } - } -}; - -#endif - - |