Skip to content

aui::zip#

Iterates multiple containers in parallel.

Header:#include <AUI/Traits/iterators.h>
CMake:aui_link(my_target PUBLIC aui::core)

Detailed Description#

std::array<int, 3> ints = { 1, 2, 3 };
std::array<std::string, 3> strings = { "one", "two", "three" };
for (auto&[i, s] : aui::zip(ints, strings)) {
    std::cout << i << ", " << s << std::endl;
}
1, one
2, two
3, three

Public Types#

iterator#


struct aui::zip::iterator

Examples#

examples/7guis/cells/src/AST.cpp

7GUIs Cells - Spreadsheet processor (Excel).

    }

private:
    std::span<token::Any> mTokens;
    std::span<token::Any>::iterator mIterator = mTokens.begin();

    const token::Any& currentToken() { return *safeIteratorRead(mIterator); }

    std::span<token::Any>::iterator safeIteratorRead(std::span<token::Any>::iterator it) {
        if (it == mTokens.end()) {

Empty structure.