diff options
Diffstat (limited to 'Source/charon/utils/iterator.h')
-rw-r--r-- | Source/charon/utils/iterator.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/charon/utils/iterator.h b/Source/charon/utils/iterator.h index b27f3e788..f0e66a093 100644 --- a/Source/charon/utils/iterator.h +++ b/Source/charon/utils/iterator.h @@ -75,6 +75,21 @@ struct iterator_t { * @param[in] item value to insert in list */ void (*insert_after) (iterator_t *this, void *item); + + /** + * @brief Replace the current item at current iterator position. + * + * The iterator position is not changed after replacing. + * + * @param this calling iterator + * @param[out]old_item old value will be written here(can be NULL) + * @param[in] new_item new value + * + * @return + * - SUCCESS + * - FAILED if iterator is on an invalid position + */ + status_t (*replace) (iterator_t *this, void **old_item, void *new_item); /** * @brief removes an element from list at the given iterator position. |