lynx_value_iterate_value

介绍

遍历数组或者字典类型的 lynx_value

语法

typedef void (*lynx_value_iterator_callback)(lynx_api_env env, lynx_value key,
                                             lynx_value val, void* func,
                                             void* raw_data);
lynx_api_status lynx_value_iterate_value(
    lynx_api_env env, lynx_value object, lynx_value_iterator_callback callback,
    void* func, void* raw_data);

参数

KeyDescription
[in] envlynx_value 的运行环境,一般情况下是 nullptr
[in] object被遍历的 lynx_value
[in] callbacklynx_value_iterator_callback 函数指针.
[in] func透传的函数指针,遍历函数内部不会使用它
[in] raw_data透传的用户自定义数据,遍历函数内部不会使用它

返回值

Returns lynx_api_ok if the API succeeded.

示例

If the lynx_value being iterated is an array, the Callback's key is of type lynx_value_uint32. If the lynx_value being iterated is a map, the Callback's key is of type lynx_value_string.

static inline void LynxValueIteratorCallback(lynx_api_env env,
                                             lynx_value key,
                                             lynx_value value, void* func,
                                             void* raw_data) {
  // do something by func
}

lynx_value_iterate_value(env, val, LynxValueIteratorCallback,
                         reinterpret_cast<void*>(func), nullptr);
除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。