From: Yong Bakos <yba...@humanoriented.com> Add doxygen comments for wl_array and its methods.
Signed-off-by: Yong Bakos <yba...@humanoriented.com> --- src/wayland-util.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 61 insertions(+), 5 deletions(-) diff --git a/src/wayland-util.h b/src/wayland-util.h index cacc122..fe0507c 100644 --- a/src/wayland-util.h +++ b/src/wayland-util.h @@ -206,29 +206,85 @@ wl_list_insert_list(struct wl_list *list, struct wl_list *other); pos = tmp, \ tmp = wl_container_of(pos->member.prev, tmp, member)) +/** + * \class wl_array + * + * Dynamic array + * + */ struct wl_array { size_t size; size_t alloc; void *data; }; -#define wl_array_for_each(pos, array) \ - for (pos = (array)->data; \ - (const char *) pos < ((const char *) (array)->data + (array)->size); \ - (pos)++) - +/** + * Initializes the array. + * + * \param array Array to initialize + * + * \memberof wl_array + */ void wl_array_init(struct wl_array *array); +/** + * Releases the array data. + * + * \note Leaves the array in an invalid state. + * + * \param array Array whose data is to be released + * + * \memberof wl_array + */ void wl_array_release(struct wl_array *array); +/** + * Increases the size of the array by \p size bytes. + * + * \param array Array whose size is to be increased + * \param size Number of bytes to increase the size of the array by + * + * \return A pointer to the beginning of the newly appended space, or NULL when + * resizing fails. + * + * \memberof wl_array + */ void * wl_array_add(struct wl_array *array, size_t size); +/** + * Copies the contents of \p source to \p array. + * + * \param array Destination array to copy to + * \param source Source array to copy from + * + * \return 0 on success, or -1 on failure + * + * \memberof wl_array + */ int wl_array_copy(struct wl_array *array, struct wl_array *source); +/** + * Iterates over an array. + * + * This macro expresses a for-each iterator for wl_array. It assigns each + * element in the list to \p pos, which can then be referenced in a trailing + * code block. + * + * \param pos Cursor that each array element will be assigned to + * \param array Array to iterate over + * + * \relates wl_array + * \sa wl_list_for_each() + */ +#define wl_array_for_each(pos, array) \ + for (pos = (array)->data; \ + (const char *) pos < ((const char *) (array)->data + (array)->size); \ + (pos)++) + typedef int32_t wl_fixed_t; static inline double -- 2.7.2 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel