Browse Source

[components][var_export] 添加获取长度及二分查找功能

tyx 2 years ago
parent
commit
1579f0c02b

+ 6 - 1
components/utilities/var_export/var_export.c

@@ -181,7 +181,7 @@ const ve_exporter_t *ve_iter_next(ve_iterator_t *iter)
 }
 
 /* binary search based on identifier */
-static const ve_exporter_t *ve_binary_search(ve_module_t *mod, const char *identifier)
+const ve_exporter_t *ve_binary_search(ve_module_t *mod, const char *identifier)
 {
     int ve_low_num = 0;
     int ve_high_num = mod->end - mod->begin;
@@ -237,3 +237,8 @@ rt_bool_t ve_value_exist(ve_module_t *mod, const char *identifier)
         return RT_FALSE;
     }
 }
+
+rt_size_t ve_value_count(ve_module_t *mod)
+{
+    return mod->end - mod->begin + 1;
+}

+ 2 - 0
components/utilities/var_export/var_export.h

@@ -90,5 +90,7 @@ const ve_exporter_t *ve_iter_next(ve_iterator_t *iter);
 rt_base_t ve_value_get(ve_module_t *mod, const char *identifier);
 /* check if this value exists in the module*/
 rt_bool_t ve_value_exist(ve_module_t *mod, const char *identifier);
+rt_size_t ve_value_count(ve_module_t *mod);
+const ve_exporter_t *ve_binary_search(ve_module_t *mod, const char *identifier);
 
 #endif /* _VAR_EXPORT_H__ */