summaryrefslogtreecommitdiffhomepage
path: root/include/stc/cvec.h
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2023-06-14 13:24:29 +0200
committerTyge Løvset <[email protected]>2023-06-14 13:24:29 +0200
commit3f919a3b38a88e1c96399cd6096dec16060802a1 (patch)
tree8c071e33522d31cd7c90834423760da514fc7f46 /include/stc/cvec.h
parentc51bdc8d8aeac63c0af955f81593ef0be326a7e0 (diff)
downloadSTC-modified-3f919a3b38a88e1c96399cd6096dec16060802a1.tar.gz
STC-modified-3f919a3b38a88e1c96399cd6096dec16060802a1.zip
Fixed a bug in cco_await_on(), and added _pull() function to random access containers (moves element out of container, ie no drop).
Diffstat (limited to 'include/stc/cvec.h')
-rw-r--r--include/stc/cvec.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/stc/cvec.h b/include/stc/cvec.h
index 874f4f47..71787733 100644
--- a/include/stc/cvec.h
+++ b/include/stc/cvec.h
@@ -133,7 +133,9 @@ STC_INLINE _cx_value* _cx_memb(_front)(const _cx_self* self) { return self->da
STC_INLINE _cx_value* _cx_memb(_back)(const _cx_self* self)
{ return self->data + self->_len - 1; }
STC_INLINE void _cx_memb(_pop)(_cx_self* self)
- { assert(!_cx_memb(_empty)(self)); _cx_value* p = &self->data[--self->_len]; i_keydrop(p); }
+ { assert(self->_len); _cx_value* p = &self->data[--self->_len]; i_keydrop(p); }
+STC_INLINE _cx_value _cx_memb(_pull)(_cx_self* self)
+ { assert(self->_len); return self->data[--self->_len]; }
STC_INLINE _cx_value* _cx_memb(_push_back)(_cx_self* self, i_key value)
{ return _cx_memb(_push)(self, value); }
STC_INLINE void _cx_memb(_pop_back)(_cx_self* self) { _cx_memb(_pop)(self); }