89 std::vector<std::string> thresholdlist;
90 std::string logic, conditions;
91 item->buildLogic(logic, thresholdlist);
93 std::map<unsigned int, std::string> thrNames;
95 for(
const std::string & thrmult : thresholdlist) {
96 std::vector<std::string>
res;
97 boost::split(
res, thrmult, boost::is_any_of(
","));
99 std::string name_mult(
"");
100 if(
res.size() == 1) {
103 name_mult =
res[2]+
"[x"+
res[0]+
"]";
105 thrNames[idx++] = std::move(name_mult);
109 std::string def = item->definition();
110 std::vector<std::string> tokens;
112 for (
auto & tok : boost::tokenizer<boost::char_separator<char> > (item->definition(), boost::char_separator<char>(
" ",
"()&|!")) ) {
114 auto [ptr, ec] = std::from_chars(tok.data(), tok.data() + tok.size(), n);
115 if (ec == std::errc()) {
116 tokens.emplace_back(thrNames[n]);
118 tokens.emplace_back(tok);
123 std::string definition(
"");
124 for(
auto & tok : tokens ) {
boost::multi_index::multi_index_container< TriggerItem *, boost::multi_index::indexed_by< boost::multi_index::random_access<>, boost::multi_index::ordered_unique< boost::multi_index::identity< TriggerItem > >, boost::multi_index::ordered_unique< boost::multi_index::tag< tag_ctpid >, boost::multi_index::const_mem_fun< TriggerItem, int, &TriggerItem::ctpId > >, boost::multi_index::hashed_unique< boost::multi_index::tag< tag_name_hash >, boost::multi_index::const_mem_fun< TrigConfData, const std::string &, &TrigConfData::name > > > > ItemContainer