I don't like it. It's hard to reason what exactly serves as condition variable.
In a more normal scenario you'd expect to use std::expected here rather than a custom struct with an operator bool.
That's my fundamental gripe with C++
int i = 0;
function_0(i,...);
...
function_9(i,...);
which one changes i? It's not obvious in a code review due to default mutable references.
I don't like it. It's hard to reason what exactly serves as condition variable.
In a more normal scenario you'd expect to use std::expected here rather than a custom struct with an operator bool.
That's my fundamental gripe with C++
int i = 0;
function_0(i,...);
...
function_9(i,...);
which one changes i? It's not obvious in a code review due to default mutable references.