summaryrefslogtreecommitdiff
path: root/girepository/gistructinfo.h
diff options
context:
space:
mode:
authorGarrett Regier <garrett.regier@riftio.com>2015-06-03 04:59:11 -0700
committerGarrett Regier <garrett.regier@riftio.com>2015-06-21 13:01:25 -0700
commitcf6ea68018b94529aeb02aaa8b430c8d061e55c1 (patch)
treeb0850de8d9d62557d1613e1cac46c828bb6e6a3d /girepository/gistructinfo.h
parentec91f9d11b40de198b2faf8a80b49dbd71107750 (diff)
downloadgobject-introspection-cf6ea68018b94529aeb02aaa8b430c8d061e55c1.tar.gz
girepository: Add g_struct_info_find_field()
Add find_field utility function for finding a field info by name. Beyond convenience, this should be faster than manually using the get_n_fields and get_field functions because get_field does an additional iteration for each field to calculate offsets O(n^2). Thus find_field combines the offset and comparison computations into a single loop O(n). Based on a patch by Simon Feltman.
Diffstat (limited to 'girepository/gistructinfo.h')
-rw-r--r--girepository/gistructinfo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/girepository/gistructinfo.h b/girepository/gistructinfo.h
index 2651311d..4a60d5bb 100644
--- a/girepository/gistructinfo.h
+++ b/girepository/gistructinfo.h
@@ -49,6 +49,10 @@ GIFieldInfo * g_struct_info_get_field (GIStructInfo *info,
gint n);
GI_AVAILABLE_IN_ALL
+GIFieldInfo * g_struct_info_find_field (GIStructInfo *info,
+ const gchar *name);
+
+GI_AVAILABLE_IN_ALL
gint g_struct_info_get_n_methods (GIStructInfo *info);
GI_AVAILABLE_IN_ALL