37 size_t n1(v1.size()), n2(v2.size());
38 for (
size_t i = 0; i < n1 && i < n2; ++i) {
39 if (v1[n1 - 1 - i] > v2[n2 - 1 - i])
return true;
40 if (v1[n1 - 1 - i] < v2[n2 - 1 - i])
return false;
45 std::vector<std::vector<int> >
CompactVector(std::vector<std::vector<int> > vec) {
49 for (
size_t j = 0; j < vec.size() - 1; ++j) {
50 while (j < vec.size() - 1
52 vec[j].begin() + 1, vec[j].end(), vec[j + 1].begin() + 1,
54 vec[j][0] += vec[j + 1][0];
55 vec.erase(vec.begin() + j + 1);
66 }
catch (std::exception& exc) {
68 "EndFieldModel::getEndFieldModel",
69 "Could not find EndFieldModel with name '" + name +
"'");
78 typedef std::map<std::string, std::shared_ptr<EndFieldModel> > EfmMap;
79 for (EfmMap::iterator it =
efm_map.begin(); it !=
efm_map.end(); ++it) {
80 if (it->second == efm) {
87 "EndFieldModel::getName",
"Could not find EndFieldModel with address " + ss.str());
static std::shared_ptr< EndFieldModel > getEndFieldModel(std::string name)
static std::string getName(std::shared_ptr< EndFieldModel > efm)
static std::map< std::string, std::shared_ptr< EndFieldModel > > efm_map
static void setEndFieldModel(std::string name, std::shared_ptr< EndFieldModel > efm)
std::vector< std::vector< int > > CompactVector(std::vector< std::vector< int > > vec)
bool IterableEquality(TEMP_ITER a_begin, TEMP_ITER a_end, TEMP_ITER b_begin, TEMP_ITER b_end)
bool GreaterThan(std::vector< int > v1, std::vector< int > v2)
CompactVector helper function, used for sorting.