39 : _dataset_mode{
mode }, _name_filter{ name_filter }, _id_filter{ parse_id_filter(id_filter) }
51 if(!std::regex_search(
info.name, _name_filter))
56 if(!_id_filter.empty())
60 for(
const auto &
range : _id_filter)
78 TestFilter::Ranges TestFilter::parse_id_filter(
const std::string &id_filter)
const
82 bool in_range =
false;
85 int end = std::numeric_limits<int>::max();
87 std::stringstream stream(id_filter);
90 std::getline(stream,
str,
',');
97 if(
str.find(
"...") != std::string::npos)
109 std::getline(stream,
str,
',');
116 if(
str.find(
"...") != std::string::npos)
118 end = std::numeric_limits<int>::max();
125 if(in_range ||
end == value - 1)
132 ranges.emplace_back(start,
end);
139 ranges.emplace_back(start,
end);