add explicit true type == "no filter"

This commit is contained in:
Konstantin Käfer
2014-06-01 00:06:33 +02:00
parent 99b6a700ef
commit dd4c8a67ba
4 changed files with 7 additions and 4 deletions

View File

@@ -127,6 +127,8 @@ bool FilteredVectorTileLayer::iterator::matchesFilterExpression(const PropertyFi
return matchesFilter(filterExpression.get<util::recursive_wrapper<PropertyFilter>>().get(), tags_pbf);
} else if (filterExpression.is<util::recursive_wrapper<PropertyExpression>>()) {
return matchesExpression(filterExpression.get<util::recursive_wrapper<PropertyExpression>>().get(), tags_pbf);
} else if (filterExpression.is<std::true_type>()) {
return true;
} else {
return false;
}
@@ -201,7 +203,7 @@ void FilteredVectorTileLayer::iterator::operator++() {
bool matched = false;
// Treat the absence of any expression filters as a match.
if (expression.is<util::recursive_wrapper<PropertyExpression>>() && expression.get<util::recursive_wrapper<PropertyExpression>>().get().operands.size() == 0) {
if (expression.is<std::true_type>()) {
matched = true;
}

View File

@@ -67,7 +67,7 @@ PropertyFilterExpression StyleParser::parseFilterOrExpression(JSVal value) {
}
}
return std::move(util::recursive_wrapper<PropertyExpression>());
return std::true_type();
}
BucketDescription StyleParser::parseBucket(JSVal value) {