ae.utils.sini

Structured INI

Members

Aliases

StructuredIniHandler
deprecated alias StructuredIniHandler = IniHandler
Undocumented in source.
StructuredIniTraversingHandler
deprecated alias StructuredIniTraversingHandler = IniTraversingHandler
Undocumented in source.
indexOf
alias indexOf = std.string.indexOf
Undocumented in source.
makeStructuredIniHandler
deprecated alias makeStructuredIniHandler = makeIniHandler
Undocumented in source.
parseStructuredIni
deprecated alias parseStructuredIni = parseIni
Undocumented in source.

Enums

isNestingType
eponymoustemplate isNestingType(T)
Undocumented in source.

Functions

iniHandler
IniHandler!S iniHandler(void delegate(S, S) leafHandler, IniHandler!S delegate(S) nodeHandler)

Helper which creates an INI handler out of delegates.

loadIni
S loadIni(string fileName)

Convenience function to load a struct from an INI file. Returns .init if the file does not exist.

loadInis
S loadInis(char[][] fileNames)

As above, though loads several INI files (duplicate values appearing in later INI files override any values from earlier files).

makeIniHandler
IniTraversingHandler!S makeIniHandler(U v)
Undocumented in source. Be warned that the author may not have intended to support it.
parseIni
void parseIni(R r, H rootHandler)

Parse a structured INI from a range of lines, through the given handler.

parseIni
T parseIni(R r)
parseIniInto
void parseIniInto(R r, T result)

Parse structured INI lines from a range of strings, into a user-defined struct.

prettifyIni
string prettifyIni(string ini)

Insert a blank line before each section

Structs

IniHandler
struct IniHandler(S)

Represents the user-defined behavior for handling a node in a structured INI file's hierarchy.

IniTraversingHandler
struct IniTraversingHandler(S)

Alternative API for IniHandler, where each leaf is a node

IniWriter
struct IniWriter(O)

Simple convenience formatter for writing INI files.

Meta

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Authors

Vladimir Panteleev <vladimir@thecybershadow.net>