summaryrefslogtreecommitdiffhomepage
path: root/docs/cvec_api.md
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-05-04 13:37:30 +0200
committerTyge Løvset <[email protected]>2021-05-04 13:37:30 +0200
commit8970472ccac02ffdbab3b2c5caf677da4ffb2cc2 (patch)
treeacf1ea02a184b16cf075c8b79b09858421d40b9c /docs/cvec_api.md
parent560244381db1158b52eb92856b5df87eea1f6438 (diff)
downloadSTC-modified-8970472ccac02ffdbab3b2c5caf677da4ffb2cc2.tar.gz
STC-modified-8970472ccac02ffdbab3b2c5caf677da4ffb2cc2.zip
Added get() method to cvec, cdeq, clist, cmap, csmap. Restructured emplace/insert api on cvec, will be done on cdeq as well. General internal coding improvements.
Diffstat (limited to 'docs/cvec_api.md')
-rw-r--r--docs/cvec_api.md15
1 files changed, 9 insertions, 6 deletions
diff --git a/docs/cvec_api.md b/docs/cvec_api.md
index 0171f3e7..60808cf1 100644
--- a/docs/cvec_api.md
+++ b/docs/cvec_api.md
@@ -57,13 +57,14 @@ void cvec_X_push_back(cvec_X* self, Value value);
void cvec_X_emplace_back(cvec_X* self, RawValue raw);
void cvec_X_pop_back(cvec_X* self);
-cvec_X_iter_t cvec_X_insert(cvec_X* self, cvec_X_iter_t it, Value value); // expects new/cloned value
-cvec_X_iter_t cvec_X_insert_range(cvec_X* self, cvec_X_iter_t it,
- cvec_X_iter_t i1, cvec_X_iter_t i2); // clones input values
-cvec_X_iter_t cvec_X_insert_at(cvec_X* self, size_t idx, const Value[] arr, size_t n); // clones input values
+cvec_X_iter_t cvec_X_insert(cvec_X* self, cvec_X_iter_t it, Value value); // move value
+cvec_X_iter_t cvec_X_insert_at(cvec_X* self, size_t idx, const Value[] arr, size_t n); // move arr values
cvec_X_iter_t cvec_X_emplace(cvec_X* self, cvec_X_iter_t it, RawValue raw);
-void cvec_X_emplace_n(cvec_X *self, const RawValue arr[], size_t n); // emplace_back only
+cvec_X_iter_t cvec_X_emplace_range(cvec_X* self, cvec_X_iter_t it,
+ cvec_X_iter_t i1, cvec_X_iter_t i2); // note: does clone
+cvec_X_iter_t cvec_X_emplace_at(cvec_X* self, size_t idx, const RawValue[] arr, size_t n);
+void cvec_X_emplace_n(cvec_X *self, const RawValue arr[], size_t n); // emplace_at back
cvec_X_iter_t cvec_X_erase_at(cvec_X* self, cvec_X_iter_t it);
cvec_X_iter_t cvec_X_erase_range(cvec_X* self, cvec_X_iter_t i1, cvec_X_iter_t i2);
@@ -71,6 +72,7 @@ cvec_X_iter_t cvec_X_erase_n(cvec_X* self, size_t idx, size_t n);
cvec_X_iter_t cvec_X_find(const cvec_X* self, RawValue raw);
cvec_X_iter_t cvec_X_find_in(cvec_X_iter_t i1, cvec_X_iter_t i2, RawValue raw);
+cvec_X_value_t* cvec_X_get(const cvec_X* self, RawValue raw); // return NULL if not found
cvec_X_iter_t cvec_X_bsearch(const cvec_X* self, RawValue raw);
cvec_X_iter_t cvec_X_bsearch_in(cvec_X_iter_t i1, cvec_X_iter_t i2, RawValue raw);
@@ -81,7 +83,8 @@ void cvec_X_sort_range(cvec_X_iter_t i1, cvec_X_iter_t i2,
cvec_X_iter_t cvec_X_begin(const cvec_X* self);
cvec_X_iter_t cvec_X_end(const cvec_X* self);
void cvec_X_next(cvec_X_iter_t* iter);
-size_t cvec_X_index(const cvec_X vec, cvec_X_iter_t it);
+cvec_X_iter_t cvec_X_it(cvec_X* self, size_t pos);
+cvec_X_iter_t cvec_X_adv(cvec_X_iter_t it, ptrdiff_t d);
cvec_X_value_t cvec_X_value_clone(cvec_X_value_t val);
```