summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLConversion.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLConversion.h')
-rw-r--r--platform/darwin/src/MGLConversion.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/platform/darwin/src/MGLConversion.h b/platform/darwin/src/MGLConversion.h
index 0d18d4e716..92a6720e6a 100644
--- a/platform/darwin/src/MGLConversion.h
+++ b/platform/darwin/src/MGLConversion.h
@@ -62,10 +62,14 @@ public:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnullability-completeness"
template <class Fn>
- static optional<Error> eachMember(const Holder&, Fn&&) {
+ static optional<Error> eachMember(const Holder& holder, Fn&& visit) {
#pragma clang diagnostic pop
- // Not implemented (unneeded for MGLStyleFunction conversion).
- NSCAssert(NO, @"eachMember not implemented");
+ [holder.value enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
+ auto result = visit(std::string(static_cast<const char *>([key UTF8String])), obj);
+ if (result) {
+ *stop = YES;
+ }
+ }];
return {};
}