summaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/cdeq_api.md20
-rw-r--r--docs/cmap_api.md11
-rw-r--r--docs/cset_api.md5
-rw-r--r--docs/csmap_api.md18
-rw-r--r--docs/csset_api.md13
-rw-r--r--docs/cstack_api.md5
-rw-r--r--docs/cvec_api.md17
7 files changed, 49 insertions, 40 deletions
diff --git a/docs/cdeq_api.md b/docs/cdeq_api.md
index ab0a1b12..0e83024b 100644
--- a/docs/cdeq_api.md
+++ b/docs/cdeq_api.md
@@ -28,17 +28,21 @@ cdeq_X cdeq_X_clone(cdeq_X deq);
void cdeq_X_clear(cdeq_X* self);
void cdeq_X_copy(cdeq_X* self, cdeq_X other);
-void cdeq_X_shrink_to_fit(cdeq_X* self);
void cdeq_X_reserve(cdeq_X* self, size_t cap);
+void cdeq_X_shrink_to_fit(cdeq_X* self);
void cdeq_X_swap(cdeq_X* a, cdeq_X* b);
-
-void cdeq_X_del(cdeq_X* self); // destructor
+void cdeq_X_del(cdeq_X* self); // destructor
bool cdeq_X_empty(cdeq_X deq);
size_t cdeq_X_size(cdeq_X deq);
size_t cdeq_X_capacity(cdeq_X deq);
-cdeq_X_value* cdeq_X_at(const cdeq_X* self, size_t idx);
+const cdeq_X_value* cdeq_X_at(const cdeq_X* self, size_t idx);
+const cdeq_X_value* cdeq_X_get(const cdeq_X* self, i_valraw raw); // return NULL if not found
+cdeq_X_value* cdeq_X_mutget(cdeq_X* self, i_valraw raw); // mutable get
+cdeq_X_iter cdeq_X_find(const cdeq_X* self, i_valraw raw);
+cdeq_X_iter cdeq_X_find_in(cdeq_X_iter i1, cdeq_X_iter i2, i_valraw raw);
+
cdeq_X_value* cdeq_X_front(const cdeq_X* self);
cdeq_X_value* cdeq_X_back(const cdeq_X* self);
@@ -52,13 +56,13 @@ void cdeq_X_pop_back(cdeq_X* self);
cdeq_X_iter cdeq_X_insert(cdeq_X* self, size_t idx, i_val value); // move value
cdeq_X_iter cdeq_X_insert_n(cdeq_X* self, size_t idx, const i_val[] arr, size_t n); // move arr values
-cdeq_X_iter cdeq_X_insert_at(cdeq_X* self, cdeq_X_iter it, i_val value); // move value
+cdeq_X_iter cdeq_X_insert_at(cdeq_X* self, cdeq_X_iter it, i_val value); // move value
cdeq_X_iter cdeq_X_emplace(cdeq_X* self, size_t idx, i_valraw raw);
cdeq_X_iter cdeq_X_emplace_n(cdeq_X* self, size_t idx, const i_valraw[] arr, size_t n);
cdeq_X_iter cdeq_X_emplace_at(cdeq_X* self, cdeq_X_iter it, i_valraw raw);
cdeq_X_iter cdeq_X_emplace_range(cdeq_X* self, cdeq_X_iter it,
- cdeq_X_iter it1, cdeq_X_iter it2); // will clone
+ cdeq_X_iter it1, cdeq_X_iter it2); // will clone
cdeq_X_iter cdeq_X_emplace_range_p(cdeq_X* self, i_val* pos,
const i_val* p1, const i_val* p2);
@@ -66,10 +70,6 @@ cdeq_X_iter cdeq_X_erase_n(cdeq_X* self, size_t idx, size_t n);
cdeq_X_iter cdeq_X_erase_at(cdeq_X* self, cdeq_X_iter it);
cdeq_X_iter cdeq_X_erase_range(cdeq_X* self, cdeq_X_iter it1, cdeq_X_iter it2);
-cdeq_X_iter cdeq_X_find(const cdeq_X* self, i_valraw raw);
-cdeq_X_iter cdeq_X_find_in(cdeq_X_iter i1, cdeq_X_iter i2, i_valraw raw);
-cdeq_X_value* cdeq_X_get(const cdeq_X* self, i_valraw raw); // returns NULL if not found
-
void cdeq_X_sort(cdeq_X* self);
void cdeq_X_sort_range(cdeq_X_iter i1, cdeq_X_iter i2,
int(*cmp)(const i_val*, const i_val*));
diff --git a/docs/cmap_api.md b/docs/cmap_api.md
index 9bdafcb9..0e677880 100644
--- a/docs/cmap_api.md
+++ b/docs/cmap_api.md
@@ -49,15 +49,16 @@ void cmap_X_shrink_to_fit(cmap_X* self);
void cmap_X_swap(cmap_X* a, cmap_X* b);
void cmap_X_del(cmap_X* self); // destructor
-bool cmap_X_empty(cmap_X map);
size_t cmap_X_size(cmap_X map);
size_t cmap_X_capacity(cmap_X map); // buckets * max_load_factor
+bool cmap_X_empty(cmap_X map);
size_t cmap_X_bucket_count(cmap_X map); // num. of allocated buckets
-bool cmap_X_contains(const cmap_X* self, i_keyraw rkey);
-cmap_X_mapped* cmap_X_at(const cmap_X* self, i_keyraw rkey); // rkey must be in map.
-cmap_X_value* cmap_X_get(const cmap_X* self, i_keyraw rkey); // return NULL if not found
-cmap_X_iter cmap_X_find(const cmap_X* self, i_keyraw rkey);
+const cmap_X_mapped* cmap_X_at(const cmap_X* self, i_keyraw rkey); // rkey must be in map.
+const cmap_X_value* cmap_X_get(const cmap_X* self, i_keyraw rkey); // const get
+cmap_X_value* cmap_X_mutget(cmap_X* self, i_keyraw rkey); // mutable get
+bool cmap_X_contains(const cmap_X* self, i_keyraw rkey);
+cmap_X_iter cmap_X_find(const cmap_X* self, i_keyraw rkey); // find element
cmap_X_result cmap_X_insert(cmap_X* self, i_key key, i_val mapped); // no change if key in map
cmap_X_result cmap_X_insert_or_assign(cmap_X* self, i_key key, i_val mapped); // always update mapped
diff --git a/docs/cset_api.md b/docs/cset_api.md
index 04a1617f..4ca7ab7c 100644
--- a/docs/cset_api.md
+++ b/docs/cset_api.md
@@ -35,13 +35,14 @@ void cset_X_shrink_to_fit(cset_X* self);
void cset_X_swap(cset_X* a, cset_X* b);
void cset_X_del(cset_X* self); // destructor
-bool cset_X_empty(cset_X set);
size_t cset_X_size(cset_X set); // num. of allocated buckets
size_t cset_X_capacity(cset_X set); // buckets * max_load_factor
+bool cset_X_empty(cset_X set);
size_t cset_X_bucket_count(cset_X set);
bool cset_X_contains(const cset_X* self, i_keyraw rkey);
-cset_X_value* cset_X_get(const cset_X* self, i_keyraw rkey); // return NULL if not found
+const cset_X_value* cset_X_get(const cset_X* self, i_keyraw rkey); // return NULL if not found
+cset_X_value* cset_X_mutget(cset_X* self, i_keyraw rkey); // mutable get
cset_X_iter cset_X_find(const cset_X* self, i_keyraw rkey);
cset_X_result cset_X_insert(cset_X* self, i_key key);
diff --git a/docs/csmap_api.md b/docs/csmap_api.md
index 7a528c7b..176ebad6 100644
--- a/docs/csmap_api.md
+++ b/docs/csmap_api.md
@@ -42,15 +42,19 @@ void csmap_X_copy(csmap_X* self, csmap_X other);
void csmap_X_swap(csmap_X* a, csmap_X* b);
void csmap_X_del(csmap_X* self); // destructor
-bool csmap_X_empty(csmap_X map);
size_t csmap_X_size(csmap_X map);
+bool csmap_X_empty(csmap_X map);
+
+const csmap_X_mapped* csmap_X_at(const csmap_X* self, i_keyraw rkey); // rkey must be in map.
+const csmap_X_value* csmap_X_get(const csmap_X* self, i_keyraw rkey); // return NULL if not found
+csmap_X_value* csmap_X_mutget(csmap_X* self, i_keyraw rkey); // mutable get
+bool csmap_X_contains(const csmap_X* self, i_keyraw rkey);
+csmap_X_iter csmap_X_find(const csmap_X* self, i_keyraw rkey);
+csmap_X_value* csmap_X_find_it(const csmap_X* self, i_keyraw rkey, csmap_X_iter* out); // return NULL if not found
+csmap_X_iter csmap_X_lower_bound(const csmap_X* self, i_keyraw rkey); // find closest entry >= rkey
-bool csmap_X_contains(const csmap_X* self, i_keyraw rkey);
-csmap_X_mapped* csmap_X_at(const csmap_X* self, i_keyraw rkey); // rkey must be in map.
-csmap_X_value* csmap_X_get(const csmap_X* self, i_keyraw rkey); // return NULL if not found
-csmap_X_iter csmap_X_lower_bound(const csmap_X* self, i_keyraw rkey); // find closest entry >= rkey
-csmap_X_iter csmap_X_find(const csmap_X* self, i_keyraw rkey);
-csmap_X_value* csmap_X_find_it(const csmap_X* self, i_keyraw rkey, csmap_X_iter* out); // return NULL if not found
+csmap_X_value* csmap_X_front(const csmap_X* self);
+csmap_X_value* csmap_X_back(const csmap_X* self);
csmap_X_result csmap_X_insert(csmap_X* self, i_key key, i_val mapped); // no change if key in map
csmap_X_result csmap_X_insert_or_assign(csmap_X* self, i_key key, i_val mapped); // always update mapped
diff --git a/docs/csset_api.md b/docs/csset_api.md
index 41e0063f..451d52c9 100644
--- a/docs/csset_api.md
+++ b/docs/csset_api.md
@@ -30,14 +30,15 @@ void csset_X_copy(csset_X* self, csset_X other);
void csset_X_swap(csset_X* a, csset_X* b);
void csset_X_del(csset_X* self); // destructor
-bool csset_X_empty(csset_X set);
size_t csset_X_size(csset_X set);
+bool csset_X_empty(csset_X set);
-bool csset_X_contains(const csset_X* self, i_keyraw rkey);
-csset_X_value* csset_X_get(const csset_X* self, i_keyraw rkey); // return NULL if not found
-csset_X_iter csset_X_lower_bound(const csset_X* self, i_keyraw rkey); // find closest entry >= rkey
-csset_X_iter csset_X_find(const csset_X* self, i_keyraw rkey);
-csset_X_value* csset_X_find_it(const csset_X* self, i_keyraw rkey, csset_X_iter* out); // return NULL if not found
+const csset_X_value* csset_X_get(const csset_X* self, i_keyraw rkey); // const get
+csset_X_value* csset_X_mutget(csset_X* self, i_keyraw rkey); // return NULL if not found
+bool csset_X_contains(const csset_X* self, i_keyraw rkey);
+csset_X_iter csset_X_find(const csset_X* self, i_keyraw rkey);
+csset_X_value* csset_X_find_it(const csset_X* self, i_keyraw rkey, csset_X_iter* out); // return NULL if not found
+csset_X_iter csset_X_lower_bound(const csset_X* self, i_keyraw rkey); // find closest entry >= rkey
csset_X_result csset_X_insert(csset_X* self, i_key key);
csset_X_result csset_X_emplace(csset_X* self, i_keyraw rkey);
diff --git a/docs/cstack_api.md b/docs/cstack_api.md
index a1edf9ea..25cbcfb7 100644
--- a/docs/cstack_api.md
+++ b/docs/cstack_api.md
@@ -36,8 +36,9 @@ void cstack_X_del(cstack_X* self); // destructor
size_t cstack_X_size(cstack_X st);
size_t cstack_X_capacity(cstack_X st);
bool cstack_X_empty(cstack_X st);
-cstack_X_value* cstack_X_top(const cstack_X* self);
-cstack_X_value* cstack_X_at(const cstack_X* self, size_t idx);
+
+cstack_X_value* cstack_X_top(const cstack_X* self);
+const cstack_X_value* cstack_X_at(const cstack_X* self, size_t idx);
cstack_X_value* cstack_X_push(cstack_X* self, i_val value);
cstack_X_value* cstack_X_emplace(cstack_X* self, i_valraw raw);
diff --git a/docs/cvec_api.md b/docs/cvec_api.md
index 42ec944e..db119c14 100644
--- a/docs/cvec_api.md
+++ b/docs/cvec_api.md
@@ -35,9 +35,9 @@ cvec_X cvec_X_clone(cvec_X vec);
void cvec_X_clear(cvec_X* self);
void cvec_X_copy(cvec_X* self, cvec_X other);
-void cvec_X_shrink_to_fit(cvec_X* self);
void cvec_X_reserve(cvec_X* self, size_t cap);
void cvec_X_resize(cvec_X* self, size_t size, i_val fill);
+void cvec_X_shrink_to_fit(cvec_X* self);
void cvec_X_swap(cvec_X* a, cvec_X* b);
void cvec_X_del(cvec_X* self); // destructor
@@ -45,7 +45,14 @@ bool cvec_X_empty(cvec_X vec);
size_t cvec_X_size(cvec_X vec);
size_t cvec_X_capacity(cvec_X vec);
-cvec_X_value* cvec_X_at(const cvec_X* self, size_t idx);
+const cvec_X_value* cvec_X_at(const cvec_X* self, size_t idx);
+const cvec_X_value* cvec_X_get(const cvec_X* self, i_valraw raw); // return NULL if not found
+cvec_X_value* cvec_X_mutget(cvec_X* self, i_valraw raw); // mutable get
+cvec_X_iter cvec_X_find(const cvec_X* self, i_valraw raw);
+cvec_X_iter cvec_X_find_in(cvec_X_iter i1, cvec_X_iter i2, i_valraw raw);
+cvec_X_iter cvec_X_bsearch(const cvec_X* self, i_valraw raw);
+cvec_X_iter cvec_X_bsearch_in(cvec_X_iter i1, cvec_X_iter i2, i_valraw raw);
+
cvec_X_value* cvec_X_front(const cvec_X* self);
cvec_X_value* cvec_X_back(const cvec_X* self);
@@ -69,12 +76,6 @@ cvec_X_iter cvec_X_erase_n(cvec_X* self, size_t idx, size_t n);
cvec_X_iter cvec_X_erase_at(cvec_X* self, cvec_X_iter it);
cvec_X_iter cvec_X_erase_range(cvec_X* self, cvec_X_iter it1, cvec_X_iter it2);
-cvec_X_iter cvec_X_find(const cvec_X* self, i_valraw raw);
-cvec_X_iter cvec_X_find_in(cvec_X_iter i1, cvec_X_iter i2, i_valraw raw);
-cvec_X_value* cvec_X_get(const cvec_X* self, i_valraw raw); // return NULL if not found
-cvec_X_iter cvec_X_bsearch(const cvec_X* self, i_valraw raw);
-cvec_X_iter cvec_X_bsearch_in(cvec_X_iter i1, cvec_X_iter i2, i_valraw raw);
-
void cvec_X_sort(cvec_X* self);
void cvec_X_sort_range(cvec_X_iter i1, cvec_X_iter i2,
int(*cmp)(const i_val*, const i_val*));