Add support for deleting vectors that are inlined into other structs
authorbdemsky <bdemsky@uci.edu>
Tue, 20 Jun 2017 21:13:37 +0000 (14:13 -0700)
committerbdemsky <bdemsky@uci.edu>
Tue, 20 Jun 2017 21:13:37 +0000 (14:13 -0700)
src/Collections/vector.h

index c069e9460da533ef03c773c2de7b2b87a4ba3d02..f3b45f8c4c7ffe52b2158864c42d4d2ba9a111df 100644 (file)
@@ -18,6 +18,7 @@
        uint getSizeVector ## name(Vector ## name *vector);                   \
        void deleteVector ## name(Vector ## name *vector);                    \
        void clearVector ## name(Vector ## name *vector);                     \
+       void deleteVectorArray ## name(Vector ## name *vector);                                                         \
        type * exposeArray ## name(Vector ## name * vector);
 
 #define VectorImpl(name, type, defcap)                                  \
@@ -61,5 +62,8 @@
        }                                                                     \
        type * exposeArray ## name(Vector ## name * vector) {                 \
                return vector->array;                                               \
+       }                                                                                                                                                                                                                                                                                       \
+       void deleteVectorArray ## name(Vector ## name *vector) {                                                        \
+               ourfree(vector->array);                                             \
        }
 #endif