|
| Value () noexcept=default |
| Construct a Null value. More...
|
|
| Value (Null) noexcept |
| Construct a Null value. More...
|
|
| Value (std::nullptr_t) noexcept |
| Construct a Null value. More...
|
|
| Value (Boolean value) noexcept |
| Construct a Boolean value with the given underlying value. More...
|
|
| Value (const String &value) |
| Construct a String value with the given underlying value. More...
|
|
| Value (String &&value) noexcept |
| Construct a String value from the given underlying value. More...
|
|
| Value (const char *value) |
| Construct a String value with the given underlying value. More...
|
|
| Value (std::string_view value) |
| Construct a String value with the given underlying value. More...
|
|
| Value (const char8_t *value) |
| Construct a String value with the given underlying value. More...
|
|
| Value (std::u8string_view value) |
| Construct a String value with the given underlying value. More...
|
|
| Value (detail::number auto value) noexcept |
| Construct a Number value with the given underlying value. More...
|
|
| Value (const Object &value) |
| Construct an Object value with the given underlying value. More...
|
|
| Value (Object &&value) noexcept |
| Construct an Object value from the given underlying value. More...
|
|
| Value (const Array &value) |
| Construct an Array value with the given underlying value. More...
|
|
| Value (Array &&value) noexcept |
| Construct an Array value from the given underlying value. More...
|
|
std::string | toString (const SerializationOptions &options={}) const |
| Get a JSON string representation of the value. More...
|
|
bool | operator== (const Value &other) const |
| Compare this value to another for equality. More...
|
|
std::partial_ordering | operator<=> (const Value &other) const |
| Compare this value to another. More...
|
|
constexpr | Variant () noexcept(std::is_nothrow_default_constructible_v< variant_alternative_t< 0, Variant >>) requires(HAS_DEFAULT_CONSTRUCTOR) |
| Default-construct a variant with the first variant alternative, if it is default-constructible. More...
|
|
constexpr | Variant (U &&value) noexcept(std::is_nothrow_constructible_v< decltype(F(std::forward< U >(value)))>) requires(!std |
| Converting constructor. More...
|
|
constexpr | Variant (std::in_place_type_t< T > type, Args &&... args) requires(variant_has_alternative_v< T |
| Construct a variant alternative in-place given its type. More...
|
|
constexpr | Variant (std::in_place_type_t< T > type, std::initializer_list< U > ilist, Args &&... args) requires(variant_has_alternative_v< T |
| Construct a variant alternative in-place given its type, with an initializer list as the first constructor argument. More...
|
|
constexpr | Variant (std::in_place_index_t< Index > index, Args &&... args) requires(Index< sizeof...(Ts) &&std |
| Construct a variant alternative in-place given its index. More...
|
|
constexpr | Variant (std::in_place_index_t< Index > index, std::initializer_list< U > ilist, Args &&... args) requires(Index< sizeof...(Ts) &&std |
| Construct a variant alternative in-place given its index, with an initializer list as the first constructor argument. More...
|
|
constexpr | Variant (const Variant &other) requires(!HAS_COPY_CONSTRUCTOR)=delete |
| Deleted copy constructor. More...
|
|
constexpr | Variant (const Variant &other) requires(HAS_COPY_CONSTRUCTOR &&HAS_TRIVIAL_COPY_CONSTRUCTOR)=default |
| Trivial copy constructor. More...
|
|
constexpr | Variant (const Variant &other) requires(HAS_COPY_CONSTRUCTOR &&!HAS_TRIVIAL_COPY_CONSTRUCTOR) |
| Copy constructor. More...
|
|
constexpr | Variant (Variant &&other) noexcept requires(HAS_MOVE_CONSTRUCTOR &&HAS_TRIVIAL_MOVE_CONSTRUCTOR)=default |
| Trivial move constructor. More...
|
|
constexpr | Variant (Variant &&other) noexcept((std::is_nothrow_move_constructible_v< Ts > &&...)) requires(HAS_MOVE_CONSTRUCTOR &&!HAS_TRIVIAL_MOVE_CONSTRUCTOR) |
| Move constructor. More...
|
|
constexpr Variant | std::forward (args)...) |
|
constexpr Variant | std::forward (args)...) |
|
constexpr | ~Variant () |
| Destructor. More...
|
|
constexpr | ~Variant () requires(HAS_TRIVIAL_DESTRUCTOR)=default |
| Trivial destructor. More...
|
|
constexpr Variant & | operator= (const Variant &other) requires(!HAS_COPY_ASSIGNMENT)=delete |
| Deleted copy assignment. More...
|
|
constexpr Variant & | operator= (const Variant &other) requires(HAS_COPY_ASSIGNMENT &&HAS_TRIVIAL_COPY_ASSIGNMENT)=default |
| Trivial copy assignment. More...
|
|
constexpr Variant & | operator= (const Variant &other) requires(HAS_COPY_ASSIGNMENT &&!HAS_TRIVIAL_COPY_ASSIGNMENT) |
| Copy assignment. More...
|
|
constexpr Variant & | operator= (Variant &&other) noexcept requires(HAS_MOVE_ASSIGNMENT &&HAS_TRIVIAL_MOVE_ASSIGNMENT)=default |
| Trivial move assignment. More...
|
|
constexpr Variant & | operator= (Variant &&other) noexcept(((std::is_nothrow_move_constructible_v< Ts > &&//NOLINT(performance-noexcept-move-constructor, cppcoreguidelines-noexcept-move-operations) std::is_nothrow_move_assignable_v< Ts >)&&...)) requires(HAS_MOVE_ASSIGNMENT &&!HAS_TRIVIAL_MOVE_ASSIGNMENT) |
| Move assignment. More...
|
|
constexpr Variant & | operator= (U &&value) noexcept(std::is_nothrow_assignable_v< decltype(F(std::forward< U >(value)))&, U > &&std::is_nothrow_constructible_v< decltype(F(std::forward< U >(value))), U >) requires(!std |
| Converting assignment. More...
|
|
constexpr T & | emplace (Args &&... args) requires(variant_has_alternative_v< T |
| Construct an alternative given its type, destroying the old value. More...
|
|
constexpr T & | emplace (std::initializer_list< U > ilist, Args &&... args) requires(variant_has_alternative_v< T |
| Construct an alternative given its type, with an initializer list as the first constructor argument, destroying the old value. More...
|
|
constexpr variant_alternative_t< Index, Variant > & | emplace (Args &&... args) requires(std |
| Construct an alternative given its index, destroying the old value. More...
|
|
constexpr variant_alternative_t< Index, Variant > & | emplace (std::initializer_list< U > ilist, Args &&... args) requires(std |
| Construct an alternative given its index, with an initializer list as the first constructor argument, destroying the old value. More...
|
|
constexpr void | swap (Variant &other) noexcept(((std::is_nothrow_move_constructible_v< Ts > &&std::is_nothrow_swappable_v< Ts >)&&...)) |
| Swap this variant's value with that of another. More...
|
|
constexpr index_type | index () const noexcept |
| Get the alternative index of the currently active value held by the variant. More...
|
|
constexpr bool | valueless_by_exception () const noexcept |
| Check if the variant is in the valueless by exception state. More...
|
|
constexpr bool | is () const noexcept requires(variant_has_alternative_v< T |
| Check if the variant currently holds the alternative with the given type. More...
|
|
constexpr bool | is () const noexcept |
| Check if the variant currently holds the alternative with the given index. More...
|
|
constexpr T & | as () &noexcept requires(variant_has_alternative_v< T |
| Access the underlying value with the given type without a safety check. More...
|
|
return | as () |
|
constexpr const T & | as () const &noexcept requires(variant_has_alternative_v< T |
| Access the underlying value with the given type without a safety check. More...
|
|
return | as () |
|
constexpr T && | as () &&noexcept requires(variant_has_alternative_v< T |
| Access the underlying value with the given type without a safety check. More...
|
|
constexpr const T && | as () const &&noexcept requires(variant_has_alternative_v< T |
| Access the underlying value with the given type without a safety check. More...
|
|
constexpr variant_alternative_t< Index, Variant > & | as () &noexcept |
| Access the underlying value with the given index without a safety check. More...
|
|
constexpr const variant_alternative_t< Index, Variant > & | as () const &noexcept |
| Access the underlying value with the given index without a safety check. More...
|
|
constexpr variant_alternative_t< Index, Variant > && | as () &&noexcept |
| Access the underlying value with the given index without a safety check. More...
|
|
constexpr const variant_alternative_t< Index, Variant > && | as () const &&noexcept |
| Access the underlying value with the given index without a safety check. More...
|
|
return | std::move (as< variant_index_v< T, Variant >>()) |
|
return | std::move (as< variant_index_v< T, Variant >>()) |
|
constexpr T & | get () &requires(variant_has_alternative_v< T |
| Access the underlying value with the given type. More...
|
|
constexpr const T & | get () const &requires(variant_has_alternative_v< T |
| Access the underlying value with the given type. More...
|
|
constexpr T && | get () &&requires(variant_has_alternative_v< T |
| Access the underlying value with the given type. More...
|
|
constexpr const T && | get () const &&requires(variant_has_alternative_v< T |
| Access the underlying value with the given type. More...
|
|
constexpr variant_alternative_t< Index, Variant > & | get () & |
| Access the underlying value with the given index. More...
|
|
constexpr const variant_alternative_t< Index, Variant > & | get () const & |
| Access the underlying value with the given index. More...
|
|
constexpr variant_alternative_t< Index, Variant > && | get () && |
| Access the underlying value with the given index. More...
|
|
constexpr const variant_alternative_t< Index, Variant > && | get () const && |
| Access the underlying value with the given index. More...
|
|
constexpr T * | get_if () noexcept requires(variant_has_alternative_v< T |
| Access the underlying value with the given type if it is the currently active alternative. More...
|
|
constexpr const T * | get_if () const noexcept requires(variant_has_alternative_v< T |
| Access the underlying value with the given type if it is the currently active alternative. More...
|
|
constexpr variant_alternative_t< Index, Variant > * | get_if () noexcept |
| Access the underlying value with the given index if it is the currently active alternative. More...
|
|
constexpr const variant_alternative_t< Index, Variant > * | get_if () const noexcept |
| Access the underlying value with the given index if it is the currently active alternative. More...
|
|