variant2

A never-valueless C++14 implementation of std::variant. Requires mp11 and Boost.Config. Intended to be placed into the libs/variant2 directory of a Boost clone or release, with mp11 in libs/mp11.

To avoid the valueless state, this implementation falls back to using double storage unless

  • all the contained types are nothrow move constructible, or
  • at least one contained type has a nothrow default constructor.

Supported compilers:

  • g++ 5 or later with -std=c++14 or -std=c++1z
  • clang++ 3.5 or later with -std=c++14 or -std=c++1z
  • Visual Studio 2017
Description
A never-valueless, strong guarantee implementation of std::variant
Readme 1,019 KiB
Languages
C++ 98.4%
CMake 0.9%
Shell 0.3%
Batchfile 0.3%
HTML 0.1%