Aller au contenu
Bienvenue sur la nouvelle documentation de CppUtils !
constexpr Value::Value() = default;

constexpr Value::Value(bool value);

constexpr Value::Value(double value);

Value::Value(std::string value);

Value::Value(const char* value);

Value::Value(Array value);

Value::Value(Object value);

[[nodiscard]] constexpr auto Value::isNull() const -> bool;

[[nodiscard]] constexpr auto Value::isBool() const -> bool;

[[nodiscard]] constexpr auto Value::isNumber() const -> bool;

[[nodiscard]] constexpr auto Value::isString() const -> bool;

[[nodiscard]] constexpr auto Value::isArray() const -> bool;

[[nodiscard]] constexpr auto Value::isObject() const -> bool;

template <class T>
[[nodiscard]] constexpr auto Value::is() const -> bool;

template <class T>
[[nodiscard]] constexpr auto&& Value::as(this auto&& self);

template <class T>
[[nodiscard]] auto Value::getIf() const -> std::optional<std::reference_wrapper<const T>>;

[[nodiscard]] constexpr auto Value::operator==(const Value&) const -> bool = default;

[[nodiscard]] Value::operator std::string() const;

[[nodiscard]] auto Value::operator[](this auto&& self [[clang::lifetimebound, msvc::lifetimebound]], std::string_view key) -> const Value&;

[[nodiscard]] auto Value::operator[](this auto&& self [[clang::lifetimebound, msvc::lifetimebound]], std::size_t index) -> const Value&;

template <std::output_iterator< char > Iterator>
auto Value::dump(Iterator out) const -> Iterator;

std::variant< std::monostate, bool, double, std::string, Array, Object > data;