Skip to content

ludus::foundation::parsing

Ludus Wiki · API overview · Browse API

Namespace

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

Enumerations

ParseStatus

enum class ParseStatus : uint8

Related types: uint8

Ok

Ok

InvalidSyntax

InvalidSyntax

InvalidEncoding

InvalidEncoding

DuplicateKey

DuplicateKey

LimitExceeded

LimitExceeded

OutOfMemory

OutOfMemory

InvalidState

InvalidState

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

ParseLimit

enum class ParseLimit : uint8

Related types: uint8

None

None

InputBytes

InputBytes

WorkspaceBytes

WorkspaceBytes

NestingDepth

NestingDepth

ObjectMembers

ObjectMembers

ArrayElements

ArrayElements

Values

Values

StringBytes

StringBytes

OutputBytes

OutputBytes

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

Constants and variables

MAX_JSON_DEPTH

constexpr usize ludus::foundation::parsing::MAX_JSON_DEPTH = 64
Hard safety ceilings bound recursion and quadratic duplicate-key comparison.
Callers may lower these, but cannot raise them in the current backend.

Related types: usize

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

MAX_JSON_OBJECT_MEMBERS

constexpr usize ludus::foundation::parsing::MAX_JSON_OBJECT_MEMBERS = 256

Related types: usize

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

UNKNOWN_BYTE_OFFSET

constexpr usize ludus::foundation::parsing::UNKNOWN_BYTE_OFFSET = ~usize{0}

Related types: usize

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

Functions

ValidateUtf8

ParseStatus ludus::foundation::parsing::ValidateUtf8(std::string_view input, ParseError &error) noexcept
Validates Unicode scalar values, including shortest encoding and surrogate exclusion.
Embedded NUL is valid UTF-8; each format decides whether to allow it.

Related types: ParseStatus · ParseError

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

LocateByte

bool ludus::foundation::parsing::LocateByte(std::string_view input, usize offset, SourcePosition &output) noexcept
On-demand, linear location lookup.
CRLF is one newline; bare CR is a newline. Accepts an offset at EOF. Out-of-range offsets preserve output.

Related types: usize · SourcePosition

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