summaryrefslogtreecommitdiffstats
path: root/src/slv2_internal.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-04-28 06:02:12 +0000
committerDavid Robillard <d@drobilla.net>2011-04-28 06:02:12 +0000
commit2a16021425dab995e902d133b060ebcf6c59a00c (patch)
tree042783cc69184323d799da5db497461d108f6a89 /src/slv2_internal.h
parent00ceff504269034db8e1bfb54a97b5732c2dadce (diff)
downloadlilv-2a16021425dab995e902d133b060ebcf6c59a00c.tar.gz
lilv-2a16021425dab995e902d133b060ebcf6c59a00c.tar.bz2
lilv-2a16021425dab995e902d133b060ebcf6c59a00c.zip
More future-proof collection APIs.
Make all iterator actions occur through a collection specific function. Verbose, and a low of API, but allows for the possibility of different collection implementation types (given a choice between verbosity and no type safety, I'll take verbosity). git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@3211 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/slv2_internal.h')
-rw-r--r--src/slv2_internal.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/slv2_internal.h b/src/slv2_internal.h
index e17eebd..2e89891 100644
--- a/src/slv2_internal.h
+++ b/src/slv2_internal.h
@@ -152,17 +152,35 @@ slv2_plugin_get_unique(SLV2Plugin p,
SLV2Plugins
slv2_plugins_new();
+
+/**
+ Increment @a i to point at the next element in the collection.
+*/
+SLV2Iter
+slv2_iter_next(SLV2Iter i);
+
+/**
+ Return true iff @a i is at the end of the collection.
+*/
+bool
+slv2_iter_end(SLV2Iter i);
+
+SLV2Iter
+slv2_collection_begin(SLV2Collection collection);
+
+void*
+slv2_collection_get(SLV2Collection collection,
+ SLV2Iter i);
+
/**
Free @a collection.
*/
-SLV2_API
void
slv2_collection_free(SLV2Collection collection);
/**
Get the number of elements in @a collection.
*/
-SLV2_API
unsigned
slv2_collection_size(SLV2Collection collection);
@@ -181,11 +199,17 @@ slv2_collection_size(SLV2Collection collection);
@return NULL if @a index is out of range.
*/
SLV2_DEPRECATED
-SLV2_API
void*
slv2_collection_get_at(SLV2Collection collection,
unsigned index);
+SLV2Values
+slv2_values_new(void);
+
+SLV2ScalePoints
+slv2_scale_points_new(void);
+
+
/* ********* Instance ********* */
/** Pimpl portion of SLV2Instance */