MCPcopy Create free account
hub / github.com/Dobiasd/FunctionalPlus / memoize_binary

Function memoize_binary

include_all_in_one/include/fplus/fplus.hpp:1740–1750  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1738 typename std::remove_reference<typename std::remove_const<FIn2>::type>::type>,
1739 typename MemoMap = std::unordered_map<ParamPair, FOut>>
1740std::function<FOut(FIn1, FIn2)> memoize_binary(F f)
1741{
1742 const auto unary_f = [f](const ParamPair& params) -> FOut {
1743 return internal::invoke(f, params.first, params.second);
1744 };
1745 auto unary_f_memoized = memoize<decltype(unary_f),
1746 ParamPair, FOut, std::map<ParamPair, FOut>>(unary_f);
1747 return [unary_f_memoized](FIn1 a, FIn2 b) mutable -> FOut {
1748 return unary_f_memoized(std::make_pair(a, b));
1749 };
1750}
1751
1752// API search type: constructor_as_function : a -> b
1753// struct foo

Callers

nothing calls this directly

Calls 1

invokeFunction · 0.70

Tested by

no test coverage detected