Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
Most of async_generator.h uses std::function to store the operator functions. Primarily this was to simplify the implementation. However, now that it is being used more it ends up being somewhat wordy because lambda cannot be implicitly assigned to std::function. This has gotten to the point where we have created templated overloads that wrap the lambdas in functions.
It may be time to take a second look at this decision and converting over to templated callable types.