$darkmode
Elektra 0.11.0
API based on use cases for libelektra-core

Create <tt>Key</tt>

This use case is implemented as keyNew().

<tt>Key</tt> Name

The name of a Key is stored in two forms: escaped and unescaped.

The escaped from can be accessed via keyName() and the unescaped form via keyUnescapedName().

Manipulating the name is possible via the keySetName(), keySetBaseName(), keyAddName() and keyAddBaseName() functions, which allow various kinds of manipulation.

<tt>Key</tt> Namespace

This use case implemented via the keyGetNamespace() and keySetNamespace() functions.

<tt>Key</tt> Value

The value of a Key can be accessed via keyValue() and keyString(). It can be changed via keySetString() and keySetBinary().

<tt>Key</tt> Metadata

This use case is implemented as the keyMeta() function.

<tt>Key</tt> Ordering

This use case is implemented as the keyCmp() function.

<tt>Key</tt> Hierarchy

This use case is currently implemented via the keyIsBelow(), keyIsBelowOrSame() and keyIsDirectlyBelow() functions, instead of being a single function.

Create <tt>KeySet</tt>

This use case is implemented as ksNew(). Beyond the described use case, the ksNew() function also supports creating a KeySet with predefined contents.

Insert <tt>Key</tt> into <tt>KeySet</tt>

This use case is implemented as ksAppendKey() and ksAppend().

Remove <tt>Key</tt> from <tt>KeySet</tt>

This use case is implemented via ksLookup() with the KDB_O_POP option.

Direct lookup in <tt>KeySet</tt>

This use case is implemented via ksLookup().

Cascading Lookup in <tt>KeySet</tt>

This use case is implemented via ksLookup().

Index access to <tt>KeySet</tt>

This use case is implemented as ksAtCursor().

Cut <tt>Key</tt> hierarchy from <tt>KeySet</tt>

This use case is implemented as ksCut().