Use key field for looking up enum values in flatbuffer reflection.
Change-Id: I42d3864201dc6e30df5fba8ae515eff4b4a7e3fc
diff --git a/aos/flatbuffer_introspection.cc b/aos/flatbuffer_introspection.cc
index 0fc37a7..5f6ca45 100644
--- a/aos/flatbuffer_introspection.cc
+++ b/aos/flatbuffer_introspection.cc
@@ -76,12 +76,8 @@
int64_t enum_value,
const flatbuffers::Vector<flatbuffers::Offset<reflection::EnumVal>>
*values) {
- auto result = std::find_if(values->begin(), values->end(),
- [enum_value](const reflection::EnumVal *a) {
- return a->value() == enum_value;
- });
- return result != values->end() ? result->name()->string_view()
- : std::string_view();
+ auto search = values->LookupByKey(enum_value);
+ return search != nullptr ? search->name()->string_view() : std::string_view();
}
// Convert integer to string, checking if it is an enum.