v46 with coroutines and fixes
v46 implements experimental support for coroutines and fixes output for input-range like types
-
Experimental support for coroutines. Use
CO_RETURN
(orLR_CO_RETURN
) for a member function that has a coroutine return type. UseCO_THROW
(orLR_CO_THROW
) to throw from a coroutine. Use as manyCO_YIELD
(orLR_CO_YIELD
) from a coroutine function as you like, as long as the promise type supports it.The experimental support must be explicitly enabled with
#define TROMPELOEIL_EXPERIMENTAL_COROUTINES #include <trompeloeil.hpp>
trompeloeil::stream_tracer
does not produce correct result for coroutines -
Corrected output of input-range like types. Thank you Dominic Koepke for the fix.
-
The self test program “custom_recursive_mutex” now says that it’s succeeded. Thank you @yurivict for reporting the confusion.
-
Self test programs are only build when explicitly setting
-DTROMPELOEIL_BUILD_TESTS=yes
to the CMake command line. -
The self test programs require a higher version of CMake (3.19 currently)