# HG changeset patch # User Mike Becker # Date 1739704638 -3600 # Node ID ee4e33284f0c729d2bd5ef590404f7f1e7e3d80c # Parent 19462011b6d5a44bfc909180434d43c30f30ebb0 add convenience type CxIteratorBase diff -r 19462011b6d5 -r ee4e33284f0c src/cx/iterator.h --- a/src/cx/iterator.h Sun Feb 16 12:15:27 2025 +0100 +++ b/src/cx/iterator.h Sun Feb 16 12:17:18 2025 +0100 @@ -80,6 +80,12 @@ }; /** + * Convenience type definition for the base structure of an iterator. + * @see #CX_ITERATOR_BASE + */ +typedef struct cx_iterator_base_s CxIteratorBase; + +/** * Declares base attributes for an iterator. * Must be the first member of an iterator structure. */ @@ -186,7 +192,7 @@ * This is useful for APIs that expect some iterator as an argument. * * @param iter the iterator - * @return (@c CxIterator*) a pointer to the iterator + * @return (@c struct @c cx_iterator_base_s*) a pointer to the iterator */ #define cxIteratorRef(iter) &((iter).base) diff -r 19462011b6d5 -r ee4e33284f0c src/cx/tree.h --- a/src/cx/tree.h Sun Feb 16 12:15:27 2025 +0100 +++ b/src/cx/tree.h Sun Feb 16 12:17:18 2025 +0100 @@ -1081,7 +1081,7 @@ cx_attr_nonnull static inline size_t cxTreeInsertIter( CxTree *tree, - struct cx_iterator_base_s *iter, + CxIteratorBase *iter, size_t n ) { return tree->cl->insert_many(tree, iter, n); diff -r 19462011b6d5 -r ee4e33284f0c src/tree.c --- a/src/tree.c Sun Feb 16 12:15:27 2025 +0100 +++ b/src/tree.c Sun Feb 16 12:17:18 2025 +0100 @@ -749,7 +749,7 @@ static size_t cx_tree_default_insert_many( CxTree *tree, - struct cx_iterator_base_s *iter, + CxIteratorBase *iter, size_t n ) { size_t ins = 0;