Changeset ed3f3bf4
- Timestamp:
- Jul 4, 2016, 1:09:01 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 3f97e68, 888ee76
- Parents:
- f48ed47
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/containers/vector
rf48ed47 red3f3bf4 40 40 41 41 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 42 static inline boolsize(vector(T, allocator_t) *const this)42 static inline size_t size(vector(T, allocator_t) *const this) 43 43 { 44 44 return this->size; -
src/tests/libcfa_vector.c
rf48ed47 red3f3bf4 1 1 #include <stdlib> 2 3 extern "C" { 4 #include <stdio.h> 5 } 2 6 3 7 #include <containers/vector> 4 8 9 #define assert(x) do {\ 10 if(!(x)) {\ 11 printf("CHECK failed : %s at %s:%i\n", #x, __FILE__, __LINE__);\ 12 abort();\ 13 }}while(0 == 1)\ 14 5 15 int main(int argc, char const *argv[]) { 6 vector(int) iv; 16 vector(int, heap_allocator(int)) iv; 17 ctor(&iv); 18 19 assert(empty(&iv)); 20 assert(size(&iv) == 0); 21 printf("%d\n", size(&iv)); 7 22 8 23 push_back(&iv, 1); 24 printf("%d\n", size(&iv)); 25 assert(size(&iv) == 1); 9 26 push_back(&iv, 2); 27 printf("%d\n", size(&iv)); 28 assert(size(&iv) == 2); 10 29 push_back(&iv, 3); 30 printf("%d\n", size(&iv)); 31 assert(size(&iv) == 3); 11 32 12 33 assert(!empty(&iv)); 13 34 assert(size(&iv) == 3); 14 assert(iv[0] == 1);15 35 assert(at(&iv, 0) == 1); 16 assert( iv[1] == 2);36 assert((&iv)[0] == 1); 17 37 assert(at(&iv, 1) == 2); 18 assert( iv[2] == 3);38 assert((&iv)[1] == 2); 19 39 assert(at(&iv, 2) == 3); 40 assert((&iv)[2] == 3); 20 41 21 42 clear(&iv);
Note: See TracChangeset
for help on using the changeset viewer.