add explicit true type == "no filter"
This commit is contained in:
@@ -48,7 +48,8 @@ class PropertyExpression;
|
||||
|
||||
typedef util::variant<
|
||||
util::recursive_wrapper<PropertyFilter>,
|
||||
util::recursive_wrapper<PropertyExpression>
|
||||
util::recursive_wrapper<PropertyExpression>,
|
||||
std::true_type
|
||||
> PropertyFilterExpression;
|
||||
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
std::string source_name;
|
||||
std::string source_layer;
|
||||
|
||||
PropertyFilterExpression filter;
|
||||
PropertyFilterExpression filter = std::true_type();
|
||||
|
||||
// Specifies how the geometry for this bucket should be created
|
||||
BucketGeometryDescription geometry;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user