Contents > Library Reference > Data structures |
Data structures
General purpose objects such as a dictionary and a string list.
Objects and Structures
Dict | A dictionary, mapping a key string to a value string. | |
StringList | Manages a list of strings. |
Functions
void sort(void* data, int count, int size, string order) | Sorts an array of objects (or structures). data is a pointer to the first element in the array. The order specifier is a string which first states the direction to sort, followed by the offset into the object of the field to sort. The direction is specified as a '>' for ascending or a '<' for descending. Either one or two fields may be sorted on. |
Contents > Library Reference > Data structures > Dict object |
Dict
A Dict object implements a dictionary, which is a mapping from a string key to a string value. All keys in the dictionary must be unique.
Object Properties
int count | Gets the number of items in the dictionary. |
Object Methods
void clear() | Removes all the items from the dictionary. | |
int add(string key, string value) | Adds value to the dictionary and associate it with key. Returns the new number of items. | |
int del(string key) | Deletes the specified key and its associated value from the dictionary. Returns the number of remaining items. | |
string find(string key) | Returns the value associated with key, or the empty string if the key is not found. | |
bool has(string key) | Returns true if key is in the dictionary. | |
string key(int index) | Returns the key for the given index in the dictionary. | |
string value(int index) | Returns the value for the given index in the dictionary. |
Contents > Library Reference > Data structures > StringList object |
StringList
A StringList is an ordered list of strings.
Object Properties
int count | Gets the number of strings in the list |
Object Methods
void clear() | Removes all the strings from the list. | |
int add(string str) | Adds the string str to the end of the list and returns the new number of strings in the list. | |
int insert(int index, string str) | Inserts the string str into the list at position index and returns the new number of strings in the list. | |
int del(int index) | Removes the string at position index and returns the number of strings remaining in the list. | |
int find(string str) | Finds the string str in the string list and returns the string's index in the list or -1 if the string is not found. | |
void sort(bool caseSensitive) | Sorts the strings in the list, using the specified case sensitivity. | |
int tokens(string str, string toks) | Splits the string str into multiple tokens, and adds each token to the list. Tokens are specified as characters in toks. The number of tokens found is returned. | |
string item(int index) | Retrieves the string at location index. Returns the empty string if the index is invalid. |
Contents > Library Reference > Data structures > Dict object > clear |
Dict.clear
void clear() |
Removes all the items from the dictionary.
Contents > Library Reference > Data structures > Dict object > add |
Dict.add
int add(string key, string value) |
Parameters:
key | key | |
value | value |
Return value: number of items
Adds value to the dictionary and associate it with key. Returns the new number of items.
Contents > Library Reference > Data structures > Dict object > del |
Dict.del
int del(string key) |
Parameters:
key | key |
Return value: number of items
Deletes the specified key and its associated value from the dictionary. Returns the number of remaining items.
Contents > Library Reference > Data structures > Dict object > find |
Dict.find
string find(string key) |
Parameters:
key | key |
Return value: value
Returns the value associated with key, or the empty string if the key is not found.
Contents > Library Reference > Data structures > Dict object > has |
Dict.has
bool has(string key) |
Parameters:
key | key |
Return value: true if value is found
Returns true if key is in the dictionary.
Contents > Library Reference > Data structures > Dict object > key |
Dict.key
string key(int index) |
Parameters:
index | index |
Return value: key at index
Returns the key for the given index in the dictionary.
Contents > Library Reference > Data structures > Dict object > value |
Dict.value
string value(int index) |
Parameters:
index | index |
Return value: value at index
Returns the value for the given index in the dictionary.
Contents > Library Reference > Data structures > StringList object > clear |
StringList.clear
void clear() |
Removes all the strings from the list.
Contents > Library Reference > Data structures > StringList object > add |
StringList.add
int add(string str) |
Parameters:
str | string to add |
Return value: new number of strings in the list
Adds the string str to the end of the list and returns the new number of strings in the list.
Contents > Library Reference > Data structures > StringList object > insert |
StringList.insert
int insert(int index, string str) |
Parameters:
index | insertion location | |
str | string to insert |
Return value: new number of strings in the list
Inserts the string str into the list at position index and returns the new number of strings in the list.
Contents > Library Reference > Data structures > StringList object > del |
StringList.del
int del(int index) |
Parameters:
index | index of string to delete |
Return value: the remaining number of strings in the list
Removes the string at position index and returns the number of strings remaining in the list.
Contents > Library Reference > Data structures > StringList object > find |
StringList.find
int find(string str) |
Parameters:
str | string to find |
Return value: index of string
Finds the string str in the string list and returns the string's index in the list or -1 if the string is not found.
Contents > Library Reference > Data structures > StringList object > sort |
StringList.sort
void sort(bool caseSensitive) |
Parameters:
caseSensitive | true for case sensitive sort |
Sorts the strings in the list, using the specified case sensitivity.
Contents > Library Reference > Data structures > StringList object > tokens |
StringList.tokens
int tokens(string str, string toks) |
Parameters:
str | string to tokenize | |
toks | separators |
Return value: token count
Splits the string str into multiple tokens, and adds each token to the list. Tokens are specified as characters in toks. The number of tokens found is returned.
Contents > Library Reference > Data structures > StringList object > item |
StringList.item
string item(int index) |
Parameters:
index | index of string to retrieve |
Return value: string at the specified location
Retrieves the string at location index. Returns the empty string if the index is invalid.
Contents > Library Reference > Data structures > sort |
sort
void sort(void* data, int count, int size, string order) |
Parameters:
data | data to be sorted | |
count | count of objects to be sorted | |
size | size of each object | |
order | order specifier |
Sorts an array of objects (or structures). data is a pointer to the first element in the array. The order specifier is a string which first states the direction to sort, followed by the offset into the object of the field to sort. The direction is specified as a '>' for ascending or a '<' for descending. Either one or two fields may be sorted on.
Note: This function is implemented by the OrbSort native add-in. To use it you must #include "OrbSort.oc".Example:
Sort an array of Persons in a variety of ways.
struct Person { string name; // offset 0 int age; // offset 1 }; Person people[2]; void SortPeople() { // sort by name, ascending sort(people, 2, sizeof(Person), ">0"); // sort by age, descending sort(people, 2, sizeof(Person), "<1"); // sort by age first, followed by name sort(people, 2, sizeof(Person), "<1<0"); } |