Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/array.h')
-rw-r--r--src/array.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/array.h b/src/array.h
index fb74e67..480b589 100644
--- a/src/array.h
+++ b/src/array.h
@@ -1,5 +1,5 @@
/*
-Copyright 2015 Ian Jauslin
+Copyright 2015-2022 Ian Jauslin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -34,8 +34,12 @@ int int_array_resize(Int_Array* array, int newsize);
// add a value
int int_array_append(int val, Int_Array* output);
+// add a value only if it is not already present
+int int_array_append_unique(int val, Int_Array* output);
// concatenate
int int_array_concat(Int_Array input, Int_Array* output);
+// concat but only add values that are not already present in the array
+int int_array_concat_unique(Int_Array input, Int_Array* output);
// find (does not assume the array is sorted)
int int_array_find(int val, Int_Array array);
@@ -75,6 +79,9 @@ int char_array_append_str(char* str, Char_Array* output);
// concatenate
int char_array_concat(Char_Array input, Char_Array* output);
+// substring
+int char_array_substring(Char_Array str, int begin, int end, Char_Array* substr);
+
// convert to char*
int char_array_to_str(Char_Array input, char** output);
// noinit (changes the size of input if needed)
@@ -82,6 +89,11 @@ char* char_array_to_str_noinit(Char_Array* input);
// convert from char*
int str_to_char_array(char* str, Char_Array* output);
+// compare char_array's
+int char_array_cmp(Char_Array char_array1, Char_Array char_array2);
+// compare a char_array and a char*
+int char_array_cmp_str(Char_Array char_array, char* str);
+
// format strings
int char_array_snprintf(Char_Array* output, char* fmt, ...);