olymp-cpp-lib icon indicating copy to clipboard operation
olymp-cpp-lib copied to clipboard

C++20 aggregator improve

Open demidenko opened this issue 2 years ago • 0 comments

to get rid of wrappers use c++20 constexpr lambdas to pass merge function as template parameter

aggregator<monoid> - old style must be supported (constructor is merge function)

aggregator<int, gcd<int,int>> - pass function

aggregator<int, bit_xor{}> - pass struct as invocable

aggregator<int, [](int a, int b) { return a; }> - pass lambda

demidenko avatar Dec 20 '22 18:12 demidenko