#include <variant>#include <cstdint>#include <promeki/core/namespace.h>#include <promeki/core/util.h>#include <promeki/core/string.h>#include <promeki/core/timestamp.h>#include <promeki/core/datetime.h>#include <promeki/core/size2d.h>#include <promeki/core/uuid.h>#include <promeki/core/timecode.h>#include <promeki/core/rational.h>#include <promeki/core/list.h>#include <promeki/thirdparty/nlohmann/json.hpp>

Go to the source code of this file.
Classes | |
| struct | detail::VariantEnd |
| Sentinel type used to absorb the trailing comma from X-macro expansion. More... | |
| class | VariantImpl< Types > |
| Type-safe tagged union that can hold any of the types listed in PROMEKI_VARIANT_TYPES. More... | |
Macros | |
| #define | PROMEKI_VARIANT_TYPES |
| X-macro that defines all supported Variant types. | |
| #define | X(name, type) name, |
| #define | X(name, type) PROMEKI_STRINGIFY(type), |
| #define | X(name, type) type, |
Typedefs | |
| using | Variant = VariantImpl< std::monostate, bool, uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, String, DateTime, TimeStamp, Size2Du32, UUID, Timecode, Rational< int >, detail::VariantEnd > |
| Concrete variant type instantiated with every type from PROMEKI_VARIANT_TYPES. | |
| using | VariantList = List< Variant > |
| Convenience alias for a List of Variant values. | |
See LICENSE file in the project root folder for license information.