A realtime/embedded-friendly C++11 variant type which is never empty and prevents undesirable implicit conversions
swappable
for variant
operator ==
so that the implementation is symmetricsafely_constructible
trait, and document the numerous
customization points that now existemplace
variant
class templateapply_visitor
, make it noexcept
correct,
also add C++17 visit method syntaxrecursive_wrapper
dominates
type trait, in addition to safely_constructible
, are now used, and e.g. long long
is not considered necessarily a worse match for int
than unsigned long
.This is a beta-quality release. It is essentially a refactor of a much smaller library (see initial commit). That library was stable, having been factored out from another large project.
However, since then a good deal of the code has been rewritten to provide a much more powerful and useful container. This development cycle has seen the library take on a more full form.
Plan is to tick to 1.0 after testing over an extended period of time within the larger project, and pending user feedback / bug reports.