summaryrefslogtreecommitdiff
path: root/walk.h
diff options
context:
space:
mode:
Diffstat (limited to 'walk.h')
-rw-r--r--walk.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/walk.h b/walk.h
index 2bc578a1..2cc6f2e3 100644
--- a/walk.h
+++ b/walk.h
@@ -165,6 +165,31 @@ void walk_entries(entries_list::iterator begin,
}
template <typename Function>
+void walk_entries(entries_list::iterator begin,
+ entries_list::iterator end, Function functor)
+{
+ for (entries_list::iterator i = begin; i != end; i++)
+ for (transactions_list::iterator j = (*i)->transactions.begin();
+ j != (*i)->transactions.end();
+ j++)
+ functor(*j);
+}
+
+class clear_flags
+{
+ public:
+ void operator()(transaction_t * xact) const {
+ xact->flags &= ~(TRANSACTION_HANDLED | TRANSACTION_DISPLAYED);
+ }
+};
+
+inline void clear_transaction_display_flags(entries_list::iterator begin,
+ entries_list::iterator end)
+{
+ walk_entries<clear_flags>(begin, end, clear_flags());
+}
+
+template <typename Function>
void walk_transactions(transactions_list::iterator begin,
transactions_list::iterator end, Function functor)
{