Mixin that adds an iterator class and a member variable of it. Note that this.iterator still has to be initialized by the constructor.
opApply wrapper to work around the problem that it isn't possible to have a static array opApply() argument because 'ref' is not allowed with a static array. Instead, the wrapper slices the argument and passes the slice to the 'foreach' body.
Boost Software License Version 1.0. See LICENSE_BOOST.txt for details. Alternatively, this file may be distributed under the terms of the Tango 3-Clause BSD License (see LICENSE_BSD.txt for details).
Copyright (c) 2009-2016 dunnhumby Germany GmbH. All rights reserved.
Utility template to implement Map.opApply()/Set.opApply(), working around the problem that opApply() cannot have static array parameters because 'ref' is forbidden for static arrays. The solution is to use dynamic arrays instead and pass an array slice to to the 'foreach' loop body delegate.