137 typedef std::tuple<double, double, double, double, double, double, elementType*>
SortTuple;
142 std::vector<SortTuple> elementSortKeyVector;
146 auto tuple = std::make_tuple(0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
myEditedElements.at(i));
150 if (sortableAttributes.size() > 0) {
151 std::get<0>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(0)));
153 if (sortableAttributes.size() > 1) {
154 std::get<1>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(1)));
156 if (sortableAttributes.size() > 2) {
157 std::get<2>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(2)));
159 if (sortableAttributes.size() > 3) {
160 std::get<3>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(3)));
162 if (sortableAttributes.size() > 4) {
163 std::get<4>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(4)));
165 if (sortableAttributes.size() > 5) {
166 std::get<5>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(5)));
168 elementSortKeyVector.push_back(tuple);
172 std::set<SortTuple> elementSortKeySet;
173 for (
const auto& element : elementSortKeyVector) {
175 elementSortKeySet.insert(element);
178 elementSortKeyVector.clear();
179 for (
const auto& element : elementSortKeySet) {
180 elementSortKeyVector.push_back(element);
183 return elementSortKeyVector;