The OpenD Programming Language

IonSerializer

Undocumented in source.
struct IonSerializer (
uint bufferStackSize
string[] compiletimeSymbolTable
bool tableGC = true
) {
static immutable
U[IonSystemSymbolTable_v1.length + compiletimeTable.sortedKeys.length] compiletimeIndex;
static immutable
ubyte[] compiletimeTableTape;
IonTapeHolder!(bufferStackSize) buffer;
}

Members

Aliases

listBegin
alias listBegin = structBegin
putCompiletimeAnnotation
alias putCompiletimeAnnotation = putCompiletimeKey
sexpBegin
alias sexpBegin = listBegin
sexpElemBegin
alias sexpElemBegin = elemBegin
stringBegin
alias stringBegin = structBegin

Functions

annotationWrapperBegin
size_t annotationWrapperBegin(size_t length)
annotationWrapperEnd
void annotationWrapperEnd(size_t annotationsState, size_t state)
annotationsEnd
auto annotationsEnd(size_t state)
elemBegin
void elemBegin()
listEnd
void listEnd(size_t state)
nextTopLevelValue
void nextTopLevelValue()
putAnnotation
void putAnnotation(char[] key)
putAnnotation
void putAnnotation(char[] key)
putAnnotationId
void putAnnotationId(T id)
putCompiletimeKey
void putCompiletimeKey()
putKey
void putKey(char[] key)
putKey
void putKey(char[] key)
putKeyId
void putKeyId(T id)
putNull
void putNull(IonTypeCode code)
putStringPart
void putStringPart(const(char)[] str)

Puts string part. The implementation allows to split string unicode points.

putSymbol
void putSymbol(char[] key)
putSymbolId
void putSymbolId(size_t id)
putValue
void putValue(Num num)
putValue
void putValue(BigIntView!W view)
putValue
void putValue(BigInt!size num)
putValue
void putValue(Decimal!size num)
putValue
void putValue(typeof(null) )
putValue
void putValue(bool b)
putValue
void putValue(char[] value)
putValue
void putValue(Clob value)
putValue
void putValue(Blob value)
putValue
void putValue(Timestamp value)
sexpEnd
void sexpEnd(size_t state)
stringEnd
void stringEnd(size_t state)
structBegin
size_t structBegin(size_t length)
structEnd
void structEnd(size_t state)

Variables

runtimeTable
IonSymbolTable!tableGC* runtimeTable;
serdeTarget
int serdeTarget;

Mutable value used to choose format specidied or user-defined serialization specializations

Meta