In SQL, COALESCE(val_1, val_2, ... val_n) is a variadic function which returns its first non-null argument, or null otherwise.
Now, in C++, we have pointers which can be null, but also std::optional's since C++17, and there's std::variant which could be null or hold the monostate type.
Is there some standard library function in C++ which accepts multiple nullable (or emptyable) objects, and returns the first non-null? If not, has one been proposed, e.g. in the context of monadic programming perhaps?