Skip to content

ludus::foundation::parsing::JsonDocument

Ludus Wiki · API overview · Browse API

Class

Strict, whole-document JSON, backed by pinned yyjson.
Input is immutable and copied into a fallible, document-owned pool. One pool allocation, no per-node engine allocations. Reuse retains capacity; Release returns it to the domain. The domain must outlive this document. Different documents are independent; concurrent access to the same document requires external synchronization.

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

#include <ludus/foundation/parsing/json.hpp>
class ludus::foundation::parsing::JsonDocument final

Methods

JsonDocument

ludus::foundation::parsing::JsonDocument::JsonDocument() noexcept

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

JsonDocument

explicit ludus::foundation::parsing::JsonDocument::JsonDocument(const AllocationDomain &domain) noexcept

Related types: AllocationDomain

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

~JsonDocument

ludus::foundation::parsing::JsonDocument::~JsonDocument() noexcept

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

JsonDocument

ludus::foundation::parsing::JsonDocument::JsonDocument(const JsonDocument &)=delete

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

operator=

JsonDocument & ludus::foundation::parsing::JsonDocument::operator=(const JsonDocument &)=delete

Related types: JsonDocument

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

JsonDocument

ludus::foundation::parsing::JsonDocument::JsonDocument(JsonDocument &&other) noexcept
Moves transfer the pool and domain identity.
The source becomes empty and reusable with its original domain; views follow the destination owner.

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

operator=

JsonDocument & ludus::foundation::parsing::JsonDocument::operator=(JsonDocument &&other) noexcept

Related types: JsonDocument

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

Read

ParseStatus ludus::foundation::parsing::JsonDocument::Read(std::string_view input, ParseError &error, const JsonLimits &limits={}) noexcept
Every attempt invalidates old views.
Input must not refer to this document's old nodes/strings. Failure exposes no partial root.

Related types: ParseStatus · JsonLimits · ParseError

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

Root

JsonValue ludus::foundation::parsing::JsonDocument::Root() const noexcept

Related types: JsonValue

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

WorkspaceBytes

usize ludus::foundation::parsing::JsonDocument::WorkspaceBytes() const noexcept

Related types: usize

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

Reset

void ludus::foundation::parsing::JsonDocument::Reset() noexcept

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp

Release

void ludus::foundation::parsing::JsonDocument::Release() noexcept

Declared in modules/foundation/parsing/include/ludus/foundation/parsing/json.hpp