Ordered collections of typed values which are fast for random access by index (i.e. More...
Functions | |
void | slv2_plugins_free (SLV2World world, SLV2Plugins plugins) |
unsigned | slv2_plugins_size (SLV2Plugins plugins) |
SLV2Plugin | slv2_plugins_get_by_uri (SLV2Plugins plugins, SLV2Value uri) |
SLV2Plugin | slv2_plugins_get_at (SLV2Plugins plugins, unsigned index) |
SLV2PluginClass | slv2_plugin_classes_get_by_uri (SLV2PluginClasses classes, SLV2Value uri) |
bool | slv2_values_contains (SLV2Values values, SLV2Value value) |
SLV2UI | slv2_uis_get_by_uri (SLV2UIs list, SLV2Value uri) |
a fancy array).
void slv2_plugins_free | ( | SLV2World | world, | |
SLV2Plugins | plugins | |||
) |
Free a collection.
Time = O(1) Get the number of elements in the collection.
Time = O(1) Get an element from the collection by index.
index has no significance other than as an index into this collection. Any index not less than the size of the collection will return NULL, so all elements in a collection can be enumerated by repeated calls to this function starting with index = 0.
Time = O(1)
Freeing a plugin collection does not destroy the plugins it contains (plugins are owned by the world). plugins is invalid after this call. Time = O(1)
unsigned slv2_plugins_size | ( | SLV2Plugins | plugins | ) |
Get the number of plugins in the collection.
Time = O(1)
SLV2Plugin slv2_plugins_get_by_uri | ( | SLV2Plugins | plugins, | |
SLV2Value | uri | |||
) |
Get a plugin from the collection by URI.
Return value is shared (stored in plugins) and must not be freed or modified by the caller in any way.
Time = O(log2(n))
SLV2Plugin slv2_plugins_get_at | ( | SLV2Plugins | plugins, | |
unsigned | index | |||
) |
Get a plugin from the plugins by index.
index has no significance other than as an index into this plugins. Any index not less than slv2_plugins_get_length(plugins) will return NULL, so all plugins in a plugins can be enumerated by repeated calls to this function starting with index = 0.
Time = O(1)
SLV2PluginClass slv2_plugin_classes_get_by_uri | ( | SLV2PluginClasses | classes, | |
SLV2Value | uri | |||
) |
Get a plugin class from the collection by URI.
Return value is shared (stored in classes) and must not be freed or modified by the caller in any way.
Time = O(log2(n))
bool slv2_values_contains | ( | SLV2Values | values, | |
SLV2Value | value | |||
) |
Return whether values contains value.
Time = O(n)
SLV2UI slv2_uis_get_by_uri | ( | SLV2UIs | list, | |
SLV2Value | uri | |||
) |
Get a plugin from the list by URI.
Return value is shared (stored in list) and must not be freed or modified by the caller in any way.
Time = O(log2(n))