Skip to content

ludus::foundation::config

Ludus Wiki · API overview · Browse API

Namespace

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

Enumerations

Status

enum class Status : uint8

Related types: uint8

Ok

Ok

PendingRestart

PendingRestart

InvalidState

InvalidState

InvalidSchema

InvalidSchema

InvalidValue

InvalidValue

UnknownSetting

UnknownSetting

DuplicateAssignment

DuplicateAssignment

InvalidSource

InvalidSource

ConstraintFailed

ConstraintFailed

Conflict

Conflict

MixedApplyGroups

MixedApplyGroups

Frozen

Frozen

OutOfMemory

OutOfMemory

LimitExceeded

LimitExceeded

GenerationExhausted

GenerationExhausted

InvalidBundle

InvalidBundle

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

Type

enum class Type : uint8

Related types: uint8

Bool

Bool

Int32

Int32

Uint32

Uint32

Int64

Int64

Uint64

Uint64

Float32

Float32

Float64

Float64

Enum

Enum

String

String

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

Layer

enum class Layer : uint8
Declared precedence, independent of mutation time. Defaults are implicit.

Related types: uint8

Engine

Engine

Project

Project

Profile

Profile

Device

Device

Quality

Quality

Preference

Preference

Developer

Developer

Launch

Launch

Session

Session

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

Apply

enum class Apply : uint8

Related types: uint8

Live

Live

RestartSession

RestartSession

RestartEngine

RestartEngine

NextLaunch

NextLaunch

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

Aliases

ValidateFunction

using ludus::foundation::config::ValidateFunction = Status (*)(void*, std::span<const Value>, Diagnostic&) noexcept

Related types: Status · Diagnostic · Value

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

Constants and variables

LAYER_COUNT

constexpr usize ludus::foundation::config::LAYER_COUNT = 9

Related types: usize

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

ALL_SOURCES

constexpr uint32 ludus::foundation::config::ALL_SOURCES = (uint32{1} << LAYER_COUNT) - 1

Related types: uint32

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

MAX_TEXT_VALUE_BYTES

constexpr usize ludus::foundation::config::MAX_TEXT_VALUE_BYTES = 256
Capacity of a text setting value, in bytes.

Related types: usize

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

MAX_ORIGIN_SOURCE_BYTES

constexpr usize ludus::foundation::config::MAX_ORIGIN_SOURCE_BYTES = 128
Capacity of an assignment's source name, in bytes.

Related types: usize

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

UNKNOWN_BYTE_OFFSET

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

Related types: usize

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

MAX_BUNDLE_BYTES

constexpr usize ludus::foundation::config::MAX_BUNDLE_BYTES = 262144
V1 cooked layer: exact fields {version,schema,layer,values}; each record has {key,type,value,source,line}. 64-bit integers use canonical decimal strings to survive tools with binary64 JSON numbers.
Unknown fields/types fail closed. The owner bumps schema identity when descriptor contracts change. Input is bounded to 256 KiB. This adapter owns no filesystem or schema registration.

Related types: usize

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

Functions

SourceMask

constexpr uint32 ludus::foundation::config::SourceMask(Layer layer) noexcept

Related types: Layer · uint32

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

ValidName

bool ludus::foundation::config::ValidName(std::string_view name) noexcept

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

StatusName

std::string_view ludus::foundation::config::StatusName(Status status) noexcept

Related types: Status

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

TypeName

std::string_view ludus::foundation::config::TypeName(Type type) noexcept

Related types: Type

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

LayerName

std::string_view ludus::foundation::config::LayerName(Layer layer) noexcept

Related types: Layer

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

ApplyName

std::string_view ludus::foundation::config::ApplyName(Apply apply) noexcept

Related types: Apply

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

DecodeValue

Status ludus::foundation::config::DecodeValue(parsing::JsonValue input, Type type, Value &output) noexcept

Related types: Type · Status · Value · parsing::JsonValue

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

EncodeValue

void ludus::foundation::config::EncodeValue(parsing::JsonWriter &writer, const Value &value) noexcept

Related types: parsing::JsonWriter · Value

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

PrepareJson

Status ludus::foundation::config::PrepareJson(Context &context, std::string_view input, Layer expectedLayer, std::string_view schemaIdentity, uint64 expectedRevision, const AllocationDomain &domain, Diagnostic &error) noexcept
On success leaves ONE replacement prepared; caller commits at its boundary.
Failure never publishes a partial layer. Caller-supplied domain outlives call.

Related types: AllocationDomain · Context · Layer · Status · uint64 · Diagnostic

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

WriteLayer

Status ludus::foundation::config::WriteLayer(const Context &context, Layer layer, std::string_view schemaIdentity, std::span< uint8 > buffer, std::span< const uint8 > &output) noexcept
Sparse explicit assignments only (including explicit values equal to defaults).
Output view is preserved on failure; caller buffer may contain a partial prefix.

Related types: Context · Layer · Status · uint8

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

WriteSchema

Status ludus::foundation::config::WriteSchema(const Context &context, std::string_view schemaIdentity, std::span< uint8 > buffer, std::span< const uint8 > &output) noexcept
Tool/Editor metadata uses the same descriptors as runtime validation.

Related types: Context · Status · uint8

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