Переглянути джерело

Adding arrpop macro to stb_ds.h

Rafael Sachetto 6 роки тому
батько
коміт
caf9608826
1 змінених файлів з 2 додано та 0 видалено
  1. 2 0
      stb_ds.h

+ 2 - 0
stb_ds.h

@@ -321,6 +321,7 @@ CREDITS
 #define arrlenu     stbds_arrlenu
 #define arrput      stbds_arrput
 #define arrpush     stbds_arrput
+#define arrpop      stbds_arrpop
 #define arrfree     stbds_arrfree
 #define arraddn     stbds_arraddn
 #define arrsetlen   stbds_arrsetlen
@@ -436,6 +437,7 @@ extern void * stbds_shmode_func(size_t elemsize, int mode);
 #define stbds_arrlenu(a)      ((a) ?             stbds_header(a)->length : 0)
 #define stbds_arrput(a,v)     (stbds_arrmaybegrow(a,1), (a)[stbds_header(a)->length++] = (v))
 #define stbds_arrpush         stbds_arrput  // synonym
+#define stbds_arrpop(a)       (stbds_header(a)->length--, (a)[stbds_header(a)->length])
 #define stbds_arraddn(a,n)    (stbds_arrmaybegrow(a,n), stbds_header(a)->length += (n))
 #define stbds_arrlast(a)      ((a)[stbds_header(a)->length-1])
 #define stbds_arrfree(a)      ((void) ((a) ? realloc(stbds_header(a),0) : 0), (a)=NULL)