summaryrefslogtreecommitdiffhomepage
path: root/docs/clist_api.md
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-02-20 15:50:36 +0100
committerTyge Løvset <[email protected]>2021-02-20 15:50:36 +0100
commitb24dd76490733666f7f7b3147c5c64a75c973ac6 (patch)
treef2d6833b289bbb40fbb7f81cdccc32ba5315777d /docs/clist_api.md
parentac14ed84b111762544bb850e869c5e98cfe89092 (diff)
downloadSTC-modified-b24dd76490733666f7f7b3147c5c64a75c973ac6.tar.gz
STC-modified-b24dd76490733666f7f7b3147c5c64a75c973ac6.zip
Rewamp of cmap/csmap API. More to come.
Diffstat (limited to 'docs/clist_api.md')
-rw-r--r--docs/clist_api.md49
1 files changed, 25 insertions, 24 deletions
diff --git a/docs/clist_api.md b/docs/clist_api.md
index d693a052..c69d61d3 100644
--- a/docs/clist_api.md
+++ b/docs/clist_api.md
@@ -17,11 +17,11 @@ See the c++ class [std::forward_list](https://en.cppreference.com/w/cpp/containe
## Declaration
```c
-using_clist(X, Value, valueCompareRaw=c_default_compare,
- valueDestroy=c_default_del,
- valueFromRaw=c_default_clone,
- valueToRaw=c_default_to_raw,
- RawValue=Value)
+using_clist(X, Value);
+using_clist(X, Value, valueCompareRaw);
+using_clist(X, Value, valueCompareRaw, valueDestroy);
+using_clist(X, Value, valueCompareRaw, valueDestroy, valueFromRaw, valueToRaw, RawValue);
+
using_clist_str()
```
The macro `using_clist()` can be instantiated with 2, 3, 5, or 7 arguments in the global scope.
@@ -54,17 +54,18 @@ size_t clist_X_size(clist_X list); // note: O(n)
clist_X_value_t* clist_X_front(clist_X* self);
clist_X_value_t* clist_X_back(clist_X* self);
-void clist_X_emplace_front(clist_X* self, RawValue raw);
void clist_X_push_front(clist_X* self, Value value);
-void clist_X_pop_front(clist_X* self);
+void clist_X_emplace_front(clist_X* self, RawValue raw);
- // non-std: push back, complexity O(1)
-void clist_X_push_n(clist_X *self, const clist_X_rawvalue_t arr[], size_t size);
-void clist_X_emplace_back(clist_X* self, RawValue ref);
+ // non-std:
void clist_X_push_back(clist_X* self, Value value);
+void clist_X_emplace_back(clist_X* self, RawValue raw);
+void clist_X_push_n(clist_X *self, const clist_X_rawvalue_t arr[], size_t size);
+
+void clist_X_pop_front(clist_X* self);
+clist_X_iter_t clist_X_insert_after(clist_X* self, clist_X_iter_t it, Value value);
clist_X_iter_t clist_X_emplace_after(clist_X* self, clist_X_iter_t it, RawValue raw);
-clist_X_iter_t clist_X_insert_after(clist_X* self, clist_X_iter_t it, Value raw);
clist_X_iter_t clist_X_erase_after(clist_X* self, clist_X_iter_t it);
clist_X_iter_t clist_X_erase_range_after(clist_X* self, clist_X_iter_t it1, clist_X_iter_t it2);
@@ -173,19 +174,19 @@ using_clist(i, int);
int main ()
{
- c_init (clist_i, L, {10, 20, 30, 40, 50});
- // 10 20 30 40 50
- clist_i_iter_t it = clist_i_begin(&L); // ^
- it = clist_i_erase_after(&L, it); // 10 30 40 50
- // ^
- clist_i_iter_t end = clist_i_end(&L); //
- it = clist_i_erase_range_after(&L, it, end); // 10 30
- // ^
- printf("mylist contains:");
- c_foreach (x, clist_i, L) printf(" %d", *x.ref);
- puts("");
-
- clist_i_del(&L);
+ c_init (clist_i, L, {10, 20, 30, 40, 50});
+ // 10 20 30 40 50
+ clist_i_iter_t it = clist_i_begin(&L); // ^
+ it = clist_i_erase_after(&L, it); // 10 30 40 50
+ // ^
+ clist_i_iter_t end = clist_i_end(&L); //
+ it = clist_i_erase_range_after(&L, it, end); // 10 30
+ // ^
+ printf("mylist contains:");
+ c_foreach (x, clist_i, L) printf(" %d", *x.ref);
+ puts("");
+
+ clist_i_del(&L);
}
```
Output: