Source
62
62
ImageCollapserData::AggregateType ImageCollapserData::aggregateType(
63
63
const String& aggString
64
64
) {
65
65
ThrowIf (
66
66
aggString.empty(),
67
67
"Aggregate function name is not specified and it must be."
68
68
);
69
69
String agg = aggString;
70
70
agg.downcase();
71
71
auto funcNamePtr = funcNameMap();
72
-
std::map<uInt, String>::const_iterator iter;
73
72
auto minMatch = minMatchMap();
74
-
std::map<uInt, String>::const_iterator end = minMatch->end();
75
73
for (const auto& p: *minMatch) {
76
74
auto key = p.first;
77
75
auto minMatch = p.second;
78
76
auto funcName = (*funcNamePtr).at(key);
79
77
if (
80
78
agg.startsWith(minMatch)
81
79
&& funcName.startsWith(agg)
82
80
) {
83
81
return (AggregateType)key;
84
82
}