General Utility Library for C++14
2.12
|
Definition of the variant class template and associated functions and types.
This header file provides a gul14::variant with the same API as C++17's std::variant. It is based on version 1.4.0 of the variant library by Michael Park (https://github.com/mpark/variant). Multiple header files from the original source have been merged into this single file, and multiple conditional compilation blocks have been removed because GUL14 does not support pre-C++14 compilers.
#include <cstddef>
#include <exception>
#include <functional>
#include <initializer_list>
#include <limits>
#include <new>
#include <type_traits>
#include <utility>
#include "gul14/internal.h"
#include "gul14/traits.h"
#include "gul14/utility.h"
Go to the source code of this file.
Classes | |
class | gul14::bad_variant_access |
The exception thrown if the wrong type is accessed on a gul14::variant. More... | |
struct | gul14::OverloadSet< Fct1, Fcts > |
A function object that works like an overload set of functions. More... | |
struct | gul14::OverloadSet< Fct1 > |
OverloadSet for a single function object. More... | |
Namespaces | |
gul14 | |
Namespace gul14 contains all functions and classes of the General Utility Library. | |
Functions | |
template<typename Visitor , typename... Variants> | |
constexpr decltype(auto) | gul14::visit (Visitor &&visitor_fct, Variants &&... variants) |
Call a visitor function with the actual objects stored in the given variants. More... | |
template<typename... Fct> | |
auto | gul14::make_overload_set (Fct... f) |
Create an OverloadSet from an arbitrary number of function objects. More... | |