mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-27 06:22:18 +00:00
e29eb5bbed
This is merely the basics needed to actually implement something.
65 lines
1.4 KiB
Text
65 lines
1.4 KiB
Text
/**
|
|
* Dictionary provides key-value storage.
|
|
*
|
|
* Both keys and values are strings.
|
|
*
|
|
* @note keys are case-sensitive.
|
|
*/
|
|
class Dictionary
|
|
{
|
|
native static Dictionary Create();
|
|
|
|
native void Insert(String key, String value);
|
|
native void Remove(String key);
|
|
|
|
/**
|
|
* Returns the value for the specified key.
|
|
*/
|
|
native String At(String key) const;
|
|
|
|
/**
|
|
* Deserializes a dictionary from a string.
|
|
*
|
|
* @param s serialized string, must be either empty or returned from ToString().
|
|
*/
|
|
native static Dictionary FromString(String s);
|
|
|
|
/**
|
|
* Serializes a dictionary to a string.
|
|
*/
|
|
native String ToString() const;
|
|
}
|
|
|
|
/**
|
|
* Provides iterating over a Dictionary.
|
|
*
|
|
* Order is not specified.
|
|
*
|
|
* DictionaryIterator is not serializable. To make DictionaryIterator a class
|
|
* member, use `transient` keyword.
|
|
*/
|
|
class DictionaryIterator
|
|
{
|
|
native static DictionaryIterator Create(Dictionary dict);
|
|
|
|
/**
|
|
* Returns false if there are no more entries in the dictionary.
|
|
* Otherwise, returns true.
|
|
*
|
|
* While it returns true, get key and value for the current entry
|
|
* with Key() and Value() functions.
|
|
*/
|
|
native bool Next();
|
|
|
|
/**
|
|
* Returns the key for the current dictionary entry.
|
|
* Do not call this function before calling Next().
|
|
*/
|
|
native String Key() const;
|
|
|
|
/**
|
|
* Returns the value for the current dictionary entry.
|
|
* Do not call this function before calling Next().
|
|
*/
|
|
native String Value() const;
|
|
}
|