refine docs for iterator.h - issue #548

Sat, 04 Jan 2025 18:02:08 +0100

author
Mike Becker <universe@uap-core.de>
date
Sat, 04 Jan 2025 18:02:08 +0100
changeset 1096
2cb1ed4da55d
parent 1095
a5b0e47fc7de
child 1097
ef4a6cb318ec

refine docs for iterator.h - issue #548

src/cx/iterator.h file | annotate | diff | comparison | revisions
--- a/src/cx/iterator.h	Sat Jan 04 17:48:35 2025 +0100
+++ b/src/cx/iterator.h	Sat Jan 04 18:02:08 2025 +0100
@@ -26,11 +26,11 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 /**
- * \file iterator.h
- * \brief Interface for iterator implementations.
- * \author Mike Becker
- * \author Olaf Wintermann
- * \copyright 2-Clause BSD License
+ * @file iterator.h
+ * @brief Interface for iterator implementations.
+ * @author Mike Becker
+ * @author Olaf Wintermann
+ * @copyright 2-Clause BSD License
  */
 
 #ifndef UCX_ITERATOR_H
@@ -153,7 +153,7 @@
 
     /**
      * May contain the total number of elements, if known.
-     * Shall be set to \c SIZE_MAX when the total number is unknown during iteration.
+     * Shall be set to @c SIZE_MAX when the total number is unknown during iteration.
      */
     size_t elem_count;
 };
@@ -166,7 +166,7 @@
  * to be "position-aware", which means that they keep track of the current index within the collection.
  *
  * @note Objects that are pointed to by an iterator are always mutable through that iterator. However,
- * any concurrent mutation of the collection other than by this iterator makes this iterator invalid
+ * any concurrent mutation of the collection other than by this iterator makes this iterator invalid,
  * and it must not be used anymore.
  */
 typedef struct cx_iterator_s CxIterator;
@@ -177,7 +177,8 @@
  * This is especially false for past-the-end iterators.
  *
  * @param iter the iterator
- * @return true iff the iterator points to valid data
+ * @retval true if the iterator points to valid data
+ * @retval false if the iterator already moved past the end
  */
 #define cxIteratorValid(iter) (iter).base.valid(&(iter))
 
@@ -188,6 +189,7 @@
  *
  * @param iter the iterator
  * @return a pointer to the current element
+ * @see cxIteratorValid()
  */
 #define cxIteratorCurrent(iter) (iter).base.current(&iter)
 
@@ -201,6 +203,8 @@
 /**
  * Flags the current element for removal, if this iterator is mutating.
  *
+ * Does nothing for non-mutating iterators.
+ *
  * @param iter the iterator
  */
 #define cxIteratorFlagRemoval(iter) (iter).base.remove |= (iter).base.mutating
@@ -211,11 +215,13 @@
  * This is useful for APIs that expect some iterator as an argument.
  *
  * @param iter the iterator
+ * @return (@c CxIterator*) a pointer to the iterator
  */
 #define cxIteratorRef(iter) &((iter).base)
 
 /**
  * Loops over an iterator.
+ *
  * @param type the type of the elements
  * @param elem the name of the iteration variable
  * @param iter the iterator
@@ -227,15 +233,15 @@
 /**
  * Creates an iterator for the specified plain array.
  *
- * The \p array can be \c NULL in which case the iterator will be immediately
- * initialized such that #cxIteratorValid() returns \c false.
+ * The @p array can be @c NULL in which case the iterator will be immediately
+ * initialized such that #cxIteratorValid() returns @c false.
  *
  * This iterator yields the addresses of the array elements.
  * If you want to iterator over an array of pointers, you can
  * use cxIteratorPtr() to create an iterator which directly
  * yields the stored pointers.
  *
- * @param array a pointer to the array (can be \c NULL)
+ * @param array a pointer to the array (can be @c NULL)
  * @param elem_size the size of one array element
  * @param elem_count the number of elements in the array
  * @return an iterator for the specified array
@@ -255,19 +261,19 @@
  * elements through #cxIteratorFlagRemoval(). Every other change to the array
  * will bring this iterator to an undefined state.
  *
- * When \p remove_keeps_order is set to \c false, removing an element will only
+ * When @p remove_keeps_order is set to @c false, removing an element will only
  * move the last element to the position of the removed element, instead of
  * moving all subsequent elements by one. Usually, when the order of elements is
- * not important, this parameter should be set to \c false.
+ * not important, this parameter should be set to @c false.
  *
- * The \p array can be \c NULL in which case the iterator will be immediately
- * initialized such that #cxIteratorValid() returns \c false.
+ * The @p array can be @c NULL in which case the iterator will be immediately
+ * initialized such that #cxIteratorValid() returns @c false.
  *
  *
- * @param array a pointer to the array (can be \c NULL)
+ * @param array a pointer to the array (can be @c NULL)
  * @param elem_size the size of one array element
  * @param elem_count the number of elements in the array
- * @param remove_keeps_order \c true if the order of elements must be preserved
+ * @param remove_keeps_order @c true if the order of elements must be preserved
  * when removing an element
  * @return an iterator for the specified array
  */
@@ -287,7 +293,7 @@
  * an iterator created with cxIterator() would return the addresses
  * of those pointers within the array).
  *
- * @param array a pointer to the array (can be \c NULL)
+ * @param array a pointer to the array (can be @c NULL)
  * @param elem_count the number of elements in the array
  * @return an iterator for the specified array
  * @see cxIterator()
@@ -304,9 +310,9 @@
  * This is the mutating variant of cxIteratorPtr(). See also
  * cxMutIterator().
  *
- * @param array a pointer to the array (can be \c NULL)
+ * @param array a pointer to the array (can be @c NULL)
  * @param elem_count the number of elements in the array
- * @param remove_keeps_order \c true if the order of elements must be preserved
+ * @param remove_keeps_order @c true if the order of elements must be preserved
  * when removing an element
  * @return an iterator for the specified array
  * @see cxMutIterator()

mercurial