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 <fmt/format.h>#include <userver/compiler/demangle.hpp>#include <userver/formats/parse/to.hpp>
This graph shows which files directly or indirectly include this file: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 (std::string_view path, std::type_index type_b) |
| template<class ParseException, typename Variant> | |
| void | formats::parse::ThrowVariantParseException (std::string_view path) |
| template<class Value, typename... Types> | |
| std::variant< decltype(Parse(std::declval< Value >(), To< Types >{}))... > | formats::parse::Parse (const Value &value, formats::parse::To< std::variant< Types... > >) |