That does not give you destructuring though, so to distinguish different variants of the same type you are left with a classic `if` inside the lambda.
Also this has "language support" in the sense that it is (again) implemented via template meta programming, i.e. the compile time is impacted quite heavily.
Comments
That does not give you destructuring though, so to distinguish different variants of the same type you are left with a classic `if` inside the lambda.
Also this has "language support" in the sense that it is (again) implemented via template meta programming, i.e. the compile time is impacted quite heavily.
See "std::visit is everything wrong with modern C++": https://bitbashing.io/std-visit.html
This standards proposal would add proper match (named, of course, inspect) support: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p009...
Yes, I'm definitely not saying that std::visit is perfect by any stretch of the imagination