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");

}