Ineffective but generic parser for std::variant type.
Parsing is performed for each of the N alternatives in variant, N-1 exceptions is thrown and caught during the parsing.
Definition in file variant.hpp.
Go to the source code of this file.
#include <optional>
#include <typeinfo>
#include <variant>
#include <userver/compiler/demangle.hpp>
#include <userver/formats/parse/to.hpp>
Namespaces | |
namespace | formats |
Value formats representation, parsing and serialization. | |
namespace | formats::json |
JSON support. | |
namespace | formats::parse |
Generic parsers and converters. | |
Functions | |
template<typename ParseException , typename Variant , typename TypeA > | |
void | formats::parse::ThrowVariantAmbiguousParse (const std::string &path, std::type_index type_b) |
template<class ParseException , typename Variant > | |
void | formats::parse::ThrowVariantParseException (const std::string &path) |
template<class Value , typename... Types> | |
std::variant< Types... > | formats::parse::Parse (const Value &value, formats::parse::To< std::variant< Types... > >) |