// [[Rcpp::export]] CV icd9ChildrenShortUnordered(const CV &icd9Short, const VecStr &icd9cmReal, const bool onlyReal) { icd_set out; if (icd9Short.size() == 0) { CV out; out.attr("icd_short_diag") = true; return out; } List parts = icd9ShortToParts(icd9Short, ""); CV mjr = parts[0]; CV mnr = parts[1]; CV::iterator itmjr = mjr.begin(); CV::iterator itmnr = mnr.begin(); for (; itmjr != mjr.end(); ++itmjr, ++itmnr) { Str thismjr = as<Str>(*itmjr); Str thismnr = as<Str>(*itmnr); const CV newminors = icd9ExpandMinor(thismnr, icd9IsASingleE(thismjr.c_str())); VecStr newshort = as<VecStr>(icd9MajMinToShort(thismjr, newminors)); out.insert(newshort.begin(), newshort.end()); } if (onlyReal) { icd_set out_real; icd_set reals(icd9cmReal.begin(), icd9cmReal.end()); for (icd_set::iterator j = out.begin(); j != out.end(); ++j) { if (reals.find(*j) != reals.end()) out_real.insert(*j); } out = out_real; } CV rcppOut = wrap(out); rcppOut.attr("icd_short_diag") = true; return rcppOut; }
// [[Rcpp::export]] CV icd9ChildrenShort(CV icd9Short, const VecStr &icd9cmReal, bool onlyReal) { std::set<Str> out; if (icd9Short.size() == 0) { icd9Short.attr("icd_short_diag") = true; return icd9Short; } List parts = icd9ShortToParts(icd9Short, ""); CV mjr = parts[0]; CV mnr = parts[1]; CV::iterator itmjr = mjr.begin(); CV::iterator itmnr = mnr.begin(); for (; itmjr != mjr.end(); ++itmjr, ++itmnr) { Str thismjr = as<Str>(*itmjr); Str thismnr = as<Str>(*itmnr); const CV newminors = icd9ExpandMinor(thismnr, icd9IsASingleE(thismjr.c_str())); VecStr newshort = as<VecStr>(icd9MajMinToShort(thismjr, newminors)); out.insert(newshort.begin(), newshort.end()); } if (onlyReal) { std::set<Str> out_real; const std::set<Str> reals(icd9cmReal.begin(), icd9cmReal.end()); std::set_intersection(out.begin(), out.end(), reals.begin(), reals.end(), std::inserter(out_real, out_real.begin())); out = out_real; } CV rcppOut = wrap(out); rcppOut.attr("icd_short_diag") = true; return rcppOut; }
void ParserMgr::InitParsers() { #ifdef DEBUG_PM_FUNC ScopeTracker st("ParserMgr::InitParsers", std::this_thread::get_id()); #endif try { VecStr expressions; for (size_t i=0; i<ds::NUM_MODELS; ++i) { const ParamModelBase* model = _modelMgr->Model((ds::PMODEL)i); if (model->DoEvaluate()) { VecStr model_exprns = model->Expressions(); expressions.insert(expressions.end(), model_exprns.begin(), model_exprns.end()); } } SetExpression(expressions); //Note that the expressions are not actually evaluated at this point } catch (mu::ParserError& e) { _log->AddExcept("ParserMgr::InitParsers: " + std::string(e.GetMsg())); } }
void GameplayChat::set_hint(const std::string& hi) { set_draw_required(); hints.clear(); if (hi.empty()) return; const std::string replaced = hint_replace_keywords_except_newlines(hi); typedef std::vector <std::string> VecStr; VecStr lines; Console::break_lines(lines, replaced, font_med, LEMSCR_X - 6); for (VecStr::iterator itr = lines.begin(); itr != lines.end(); ++itr) { Api::Label lab(3, y_hint_first + y_hint_plus * hints.size()); hints.push_back(lab); hints.back().set_text(*itr); hints.back().set_undraw_color(color[COL_PINK]); } }