summaryrefslogtreecommitdiff
path: root/doc/aapl/vector/vectall.h
diff options
context:
space:
mode:
Diffstat (limited to 'doc/aapl/vector/vectall.h')
-rw-r--r--doc/aapl/vector/vectall.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/doc/aapl/vector/vectall.h b/doc/aapl/vector/vectall.h
new file mode 100644
index 00000000..2fbdd910
--- /dev/null
+++ b/doc/aapl/vector/vectall.h
@@ -0,0 +1,29 @@
+/**
+ * \defgroup vector Vector
+ * \brief A dynamic array.
+ *
+ * Vector is a dynamic array capable of storing classes with non-trivial
+ * initialization as well as simple types such as integers and pointers.
+ * Vector stores items by value. Memory is managed automatically, with several
+ * reallocation policies available. It is also possible to use a custom
+ * reallocation scheme.
+ *
+ * VectSimp has the same interface as Vector and provides a
+ * performance improvement for types that do not have constructors or
+ * destructors. VectSimp uses memcpy for copying data as opposed to invoking
+ * copy constructors.
+ *
+ * SVector and SVectSimp are implicitly shared copy-on-write vectors. Array
+ * contents are shared when copied, however the actual contents are only
+ * duplicated when they are modified with insert, replace, append, prepend
+ * setAs or remove.
+ *
+ * Vector should not be used for classes that contain pointers to members or
+ * to self. Classes that go into vectors need to be translatable to any memory
+ * location. Pointers to items in a Vector should not be taken. After a
+ * modification of the Vector, the pointer may become invalid due to a
+ * required reallocation.
+ */
+
+#include "vector.h"
+#include "svector.h"