Collections of values/objects(3)

NAME
Collections of values/objects - Ordered collections of typed values which are fast for random access by index (i.e.

  Functions
SLV2PluginClass slv2_plugin_classes_get_by_uri (SLV2PluginClasses classes, SLV2Value uri)
SLV2PluginClass slv2_plugin_classes_get_at (SLV2PluginClasses classes, unsigned index)
void slv2_plugins_free (SLV2World world, SLV2Plugins plugins)
SLV2Plugin slv2_plugins_get_by_uri (SLV2Plugins plugins, SLV2Value uri)
SLV2Plugin slv2_plugins_get_at (SLV2Plugins plugins, unsigned index)
void slv2_uis_free (SLV2UIs list)
SLV2UI slv2_uis_get_by_uri (SLV2UIs list, SLV2Value uri)
SLV2UI slv2_uis_get_at (SLV2UIs list, unsigned index)
SLV2Value slv2_values_get_at (SLV2Values values, unsigned index)
bool slv2_values_contains (SLV2Values values, SLV2Value value)

Detailed Description

a fancy array).

Function Documentation

  unsigned slv2_plugin_classes_size (SLV2PluginClasses classes)

Get the number of plugins in the collection.

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

Returns:
    NULL if plugin with url not found in classes.

  SLV2PluginClass slv2_plugin_classes_get_at (SLV2PluginClasses classes, unsigned index)

Get a plugin from the collection by index.

index has no significance other than as an index into classes. Any index not less than slv2_plugin_classes_get_length(classes) will return NULL, so all plugin_classes in a classes can be enumerated by repeated calls to this function starting with index = 0.

Time = O(1)

Returns:
    NULL if index out of range.

  void slv2_plugins_free (SLV2World world, SLV2Plugins plugins)

Free a plugin plugins.

Freeing a plugin collection does not destroy the plugins it contains (plugins are owned by the world). plugins is invalid after this call.

  unsigned slv2_plugins_size (SLV2Plugins plugins)

Get the number of plugins in the collection.

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

Returns:
    NULL if plugin with url not found in plugins.

  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)

Returns:
    NULL if index out of range.

  void slv2_uis_free (SLV2UIs list)

Free a plugin list.

Freeing a plugin list does not destroy the plugins it contains (plugins are owned by the world). list is invalid after this call.

  unsigned slv2_uis_size (SLV2UIs list)

Get the number of plugins in the list.

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

Returns:
    NULL if plugin with url not found in list.

  SLV2UI slv2_uis_get_at (SLV2UIs list, unsigned index)

Get a plugin from the list by index.

index has no significance other than as an index into this list. Any index not less than slv2_list_get_length(list) will return NULL, so all plugins in a list can be enumerated by repeated calls to this function starting with index = 0.

Time = O(1)

Returns:
    NULL if index out of range.

  SLV2Values slv2_values_new ()

Allocate a new, empty SLV2Values.

  void slv2_values_free (SLV2Values)

Free an SLV2Values.

  unsigned slv2_values_size (SLV2Values values)

Get the number of elements in a value collection.

  SLV2Value slv2_values_get_at (SLV2Values values, unsigned index)

Get the value at a given index in the collection.

Returns:
    the element at index, or NULL if index is out of range.

Time = O(1)

  bool slv2_values_contains (SLV2Values values, SLV2Value value)

Return whether values contains value.

Time = O(n)