added hawk_arr_itr_t, hawk_val_arr_itr_t and functions for them
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-11-03 01:35:04 +09:00
parent 7640fbe805
commit ac39ef2bc4
8 changed files with 283 additions and 168 deletions

View File

@ -371,7 +371,6 @@ typedef hawk_map_itr_t hawk_val_map_itr_t;
*/
#define HAWK_VAL_MAP_ITR_VAL(itr) ((const hawk_val_t*)HAWK_MAP_VPTR((itr)->pair))
/**
* The hawk_val_map_data_type_t type defines the type of
* map value data for the #hawk_val_map_data_t structure.
@ -405,6 +404,16 @@ struct hawk_val_map_data_t
typedef struct hawk_val_map_data_t hawk_val_map_data_t;
/**
* The hawk_val_arr_itr_t type defines the iterator to array value fields.
*/
typedef struct hawk_val_arr_itr_t hawk_val_arr_itr_t;
struct hawk_val_arr_itr_t
{
hawk_arr_itr_t itr;
hawk_ptl_t elem;
};
/* ------------------------------------------------------------------------ */
@ -3378,6 +3387,18 @@ HAWK_EXPORT hawk_ooi_t hawk_rtx_getarrvaltally (
hawk_val_t* arr
);
HAWK_EXPORT hawk_val_arr_itr_t* hawk_rtx_getfirstarrvalitr (
hawk_rtx_t* rtx,
hawk_val_t* arr,
hawk_val_arr_itr_t* itr
);
HAWK_EXPORT hawk_val_arr_itr_t* hawk_rtx_getnextarrvalitr (
hawk_rtx_t* rtx,
hawk_val_t* arr,
hawk_val_arr_itr_t* itr
);
/**
* The hawk_rtx_makerefval() function creates a reference value.
* \return value on success, #HAWK_NULL on failure