sily.sdlang

Wrapper for SDLite.

Noticable differences between SDLang and SDLite parser: - Line breaking is not allowed ("title \", newline, " 'value'"), i.e:

title \
	"Some title"

Members

Aliases

SDLAttribute
alias SDLAttribute = sdl.SDLAttribute

Attribute of sdlang node (attr="val")

SDLBinary
alias SDLBinary = SDLType.binary
SDLBool
alias SDLBool = SDLType.bool_
SDLDate
alias SDLDate = SDLType.date
SDLDateTime
alias SDLDateTime = SDLType.dateTime
SDLDecimal
alias SDLDecimal = SDLType.decimal
SDLDouble
alias SDLDouble = SDLType.double_
SDLDuration
alias SDLDuration = SDLType.duration
SDLFloat
alias SDLFloat = SDLType.float_
SDLInt
alias SDLInt = SDLType.int_
SDLLong
alias SDLLong = SDLType.long_

Alias to SDLValue.Kind. Represents type of SDLValue (might conflict with SDL library).

SDLNode
alias SDLNode = sdl.SDLNode

Representation of single sdlang node

SDLNull
alias SDLNull = SDLType.null_
SDLString
alias SDLString = SDLType.text

Alias to SDLValue.Kind. Represents type of SDLValue (might conflict with SDL library).

SDLType
alias SDLType = sdl.SDLValue.Kind

Alias to SDLValue.Kind. Represents type of SDLValue (might conflict with SDL library).

SDLValue
alias SDLValue = sdl.SDLValue

Value of sdlang node

attribute
alias attribute = getAttribute

Alias to getAttribute(T)(SDLNode, string)

attributes
alias attributes = getAttributes

Alias to getAttributes(T)(SDLNode[], string)

node
alias node = getNode

Returns child of node with qualified name qualifiedName

nodes
alias nodes = getNodes

Alias to getNodes(SDLNode, string) and getNodes(SDLNode[], string)

value
alias value = hasValues

Returns count of values of type T

value
alias value = getValue

Returns SDLang attribute value as T

values
alias values = getValues

Alias to getValues(T)(SDLNode, SDLType) and getValues(T)(SDLNode[], SDLType)

Functions

generateSDL
string generateSDL(SDLNode[] input)
string generateSDL(SDLNode input)
string generateSDL(SDLValue input)

Writes SDL data into string

getAttribute
T getAttribute(SDLNode node, string qualifiedName)

Returns attribute value with qualified name qualifiedName and type as T

getAttributes
T[] getAttributes(SDLNode[] node, string qualifiedName)

Returns attribute value with qualified name qualifiedName and type as T

getNode
SDLNode getNode(SDLNode node, string qualifiedName)

Returns child of node with qualified name qualifiedName

getNodes
SDLNode[] getNodes(SDLNode node, string qualifiedName)

Returns children of node with qualified name qualifiedName

getNodes
SDLNode[] getNodes(SDLNode[] nodes, string qualifiedName)

Returns nodes from nodes array with qualified name qualifiedName

getValue
T getValue(SDLAttribute attr)

Returns SDLang attribute value as T

getValues
T[] getValues(SDLNode node, SDLType type)

Returns all values of type S as type T from node.

getValues
T[] getValues(SDLNode[] node, SDLType type)

Returns all values of type S as type T from nodes. Useful when dealing with matrices

hasAttribute
bool hasAttribute(SDLNode node, string qualifiedName)

Returns true if node has attribute with qualified name qualifiedName

hasAttribute
bool hasAttribute(SDLNode node, string qualifiedName)

Returns true if node has attribute with qualified name qualifiedName of type T

hasNode
bool hasNode(SDLNode node, string qualifiedName)

Returns true if node has child with qualified name qualifiedName

hasValues
size_t hasValues(SDLNode node)
size_t hasValues(SDLNode[] node)

Returns count of values of type T

isType
bool isType(SDLValue val)

Returns true is value val is type T

parseSDL
SDLNode[] parseSDL(string input, bool printOnError)

Parses SDL string into SDLNode[]

Meta