summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2023-02-24 17:32:46 +0100
committerTyge Løvset <[email protected]>2023-02-24 17:32:46 +0100
commit0befe31c0f7c2cc86ba872073af610b3e0d9c9fb (patch)
tree707dd8a7c477a5d631210b17aca25d5bd8f9077e /include
parent1a2143fbbda0805fdc9d3862e9c45cb0fc6a336f (diff)
downloadSTC-modified-0befe31c0f7c2cc86ba872073af610b3e0d9c9fb.tar.gz
STC-modified-0befe31c0f7c2cc86ba872073af610b3e0d9c9fb.zip
Added cspan_find() - 2 liner.
Diffstat (limited to 'include')
-rw-r--r--include/stc/cspan.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/stc/cspan.h b/include/stc/cspan.h
index 506702b3..c6df51af 100644
--- a/include/stc/cspan.h
+++ b/include/stc/cspan.h
@@ -106,6 +106,11 @@ int demo2() {
if (!(i_eq(i.ref, j.ref))) return false; \
return true; \
} \
+ STC_INLINE Self##_iter Self##_find(const Self* self, Self##_raw raw) { \
+ Self##_iter i = Self##_begin(self); \
+ for (; i.ref; Self##_next(&i)) if (i_eq(i.ref, &raw)) return i; \
+ return i; \
+ } \
struct stc_nostruct
#define using_cspan2(Self, T) using_cspan_3(Self, T, 1); using_cspan_3(Self##2, T, 2)