The Many Variants of std::variant

Speaker: Nevin Liber

Audience level: [ Intermediate | Advanced ]

There was (and still is) much controversy around the discriminated union variant type included in C++17. This talk is a first hand account of the process as well as the details of the various design deliberations and tradeoffs that were made to achieve consensus. It will get into both the performance and usability considerations that were debated, as well as some speculation as to where the C++ committee might like to take it in the future, including pattern matching to address useability concerns and a proposal to add it as a first class language feature.