From 279071e5bb579f1c9738435ec6fe8d5b8eaedfc9 Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Mon, 28 Jul 2014 10:14:24 +0200 Subject: [PATCH] re-add pairwise container traversal --- Util/ContainerUtils.h | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/Util/ContainerUtils.h b/Util/ContainerUtils.h index 6ff7d3ce1..ae61a15b0 100644 --- a/Util/ContainerUtils.h +++ b/Util/ContainerUtils.h @@ -50,22 +50,23 @@ template inline void sort_unique_resize(std::vector &vector) // vector.resize(number_of_unique_elements); // } -// template -// Func for_each_pair(FwdIter iter_begin, FwdIter iter_end, Func func) -// { -// if (iter_begin == iter_end) -// { -// return func; -// } +template +Function for_each_pair(ForwardIterator begin, ForwardIterator end, Function function) +{ + if (begin == end) + { + return function; + } -// FwdIter iter_next = iter_begin; -// ++iter_next; + ForwardIterator next = begin; + ++next; -// for (; iter_next != iter_end; ++iter_begin, ++iter_next) -// { -// func(*iter_begin, *iter_next); -// } -// return func; -// } + while (next != end) + { + function(*begin, *next); + ++begin; ++next; + } + return function; +} #endif /* CONTAINERUTILS_H_ */