aboutsummaryrefslogtreecommitdiff
path: root/collections/vector/vector.adoc
diff options
context:
space:
mode:
authorTucker Evans <tucker@tuckerevans.com>2020-07-01 16:19:16 -0400
committerTucker Evans <tucker@tuckerevans.com>2020-07-01 16:46:50 -0400
commit65ddeea23e1303d0b2d9656601b90df138d19e6c (patch)
tree658eba5ff624e00e8f7f668e8d2c0876faaf1d74 /collections/vector/vector.adoc
parent754414b451c4ca93d139f61b82bacfa81d236a04 (diff)
Add start to vector
Diffstat (limited to 'collections/vector/vector.adoc')
-rw-r--r--collections/vector/vector.adoc65
1 files changed, 65 insertions, 0 deletions
diff --git a/collections/vector/vector.adoc b/collections/vector/vector.adoc
new file mode 100644
index 0000000..b9101ca
--- /dev/null
+++ b/collections/vector/vector.adoc
@@ -0,0 +1,65 @@
+Vector
+======
+Tucker Evans
+v0.1, 2020-07-01
+
+A basic vector, that hold pointers to your data structures.
+
+NOTE: There is currently no way to distinquish between a failed retrieval
+(pop, index, back, etc.) and returning a NULL value. Keep this in mind if
+you plan on storing NULL values in the vector, there are plans to fix this in
+the future.
+
+Types
+-----
+
++vec+
+~~~~~
+This structure holds all internal information regarding a vector.
+All functions (except constructors) expect a pointer to this struct as their
+first parameter.
+
+Functions
+---------
+
++vec* vec_new()+
+~~~~~~~~~~~~~~~~
+Constructs an empty vector.
+
+Examples
+^^^^^^^^
+[source,c]
+----
+#include "vector.h"
+
+vec *vector = vec_new();
+----
+
+`vec* vec_with_capacity(int capacity)`
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Constructs an empty vector with space for +capacity+ items.
+
+Examples
+^^^^^^^^
+[source,c]
+----
+#include "vector.h"
+
+vec *vector = vec_with_capacity(16);
+----
+
++int vec_size(vec *self)+
+~~~~~~~~~~~~~~~~~~~~~~~~~
+Returns the number of elements in vector +self+.
+
+Examples
+^^^^^^^^
+[source,c]
+----
+#include "vector.h"
+
+vec *vector = vec_new();
+assert(vec_size(vector) == 0);
+vec_push_back(vector, NULL);
+assert(vec_size(vector) == 1);
+----