Table of Contents

Namespace Dec

Classes

AbstractAttribute

Signals that this Dec-deriving class is not a valid database root. No classes of this type will be instantiated and children of this class will have their own namespaces.

CloneClassAsSharedRef

Signals that this class should be "cloned" by simply duplicating the reference.

CloneStructPiecewiseAttribute

Signals that this struct should be cloned with standard shallow-copy assignment semantics.

Composer

Handles writing dec structures into files. Generally useful for in-game editors.

Config

Contains global configuration data that may be needed before parsing. Initialize as soon as possible.

Config.UnitTestParameters

Used for unit tests. Not recommended or supported for actual code.

ConverterFactoryDynamic

Alternate dynamic-typed class for converting to arbitrary types via the Recorder API, with full control over the object creation process.

ConverterFactory<T>

Base class for converting to arbitrary types via the Recorder API, with full control over the object creation process.

ConverterReadException
ConverterRecordDynamic

Alternate dynamic-typed class for converting to arbitrary types via the Recorder API.

ConverterRecord<T>

Base class for converting to arbitrary types via the Recorder API.

ConverterStringDynamic

Alternate dynamic-typed class for converting to arbitrary types via strings.

ConverterString<T>

Base class for converting to arbitrary types via strings.

Dag<T>

A simple stable Dag evaluation class, made public for utility usage.

Database

Contains information on all decs that exist.

Database<T>

Contains information on a single type of Dec.

Dec

Base class of all dec-provided datatypes.

IndexAttribute

Applied to mark an int member as an index.

Index<T>

Contains information on a single type of index.

Parser

Handles all parsing and initialization of dec structures.

Intended for prototype or non-moddable games; use ParserModdable for mod support.

ParserModular

Handles all parsing and initialization of dec structures.

Intended for moddable games; use Parser for non-moddable or prototype games.

ParserModular.Module
Path
PathDec
PathDictionaryKey
PathDictionaryValue
PathDictionaryValueUnpathable
PathHashSetElement
PathIndex
PathIndexMultidim
PathMember
PathRef
PathRoot
Recorder

Main class for the serialization/deserialization system.

SetupDependsOnAttribute

Signals that this class should have its ConfigErrors/PostLoad run after a different class.

StaticReferencesAttribute

Signals that static references in this class should be filled out after parsing is complete.

Util

Structs

Context

Information on the current cursor position when reading files.

Dag<T>.Dependency

Information on a single dag dependency.

Recorder.Parameters

Interfaces

IConditionalRecordable

Allows the Recordable aspect to be disabled based on local properties, usersettings, or other factors.

IPostCloneNew

Used to provide a per-object post-clone callback, applying to the new object.

IPostCloneOriginal

Used to provide a per-object post-clone callback, applying to the original object.

IRecordable

Base class for recordable elements.

Recorder.IUserSettings

Enums

Config.DefaultExceptionBehavior
Parser.FileType

Indicates which file type the input should be parsed as.

Recorder.Direction

Indicates whether this Recorder is being used for reading or writing.