Tirimatangi Lazy Versions Save

Light-weight header-only library for parallel function calls and continuations in C++ based on Eric Niebler's talk at CppCon 2019.

v1.7

4 months ago
  • Add example-mergesort.cc for fast parallel sorting.
  • Improve explanation of the manual mode in chapter 3.

v1.6

2 years ago

Thread pool added (section 2.2 in README.md)

1.5

2 years ago

Lazy can now be compiled with both gcc and clang.

1.4

2 years ago

Lazy::Sequence now works with std::ranges::views if you use C++20 compiler. Example:

    constexpr int N = 10;
    auto even = [](auto i) { return 0 == i % 2; };
    auto square = [](auto i) { return i * i; };
    auto lseq = Lazy::Sequence{N};

    for (auto i : lseq | std::views::filter(even) | std::views::transform(square)) {
        std::cout << i << ' ';
    }
   std::cout << "\n";

Output: 0 4 16 36 64

1.3

3 years ago

CMake integration by FriendlyAnon.

v1.2

3 years ago

Vector in, vector out - mode is now faster if the return type of the function is void. Dummy return type is not needed anymore. Also Lazy::Sequence range container has been added. See README.md and example 2.6 in example-2.cc for further details.

v1.1

3 years ago

The issue where the output type of Lazy::runForAll(...) was sometimes std::vector when it should be std:array has been fixed.

v1.0

3 years ago

Includes the functionality of the three use cases described in README.md.