139 typedef std::tuple<double, double, double, double, double, double, elementType*>
SortTuple;
144 std::vector<SortTuple> elementSortKeyVector;
148 auto tuple = std::make_tuple(0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
myEditedElements.at(i));
152 if (sortableAttributes.size() > 0) {
153 std::get<0>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(0)));
155 if (sortableAttributes.size() > 1) {
156 std::get<1>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(1)));
158 if (sortableAttributes.size() > 2) {
159 std::get<2>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(2)));
161 if (sortableAttributes.size() > 3) {
162 std::get<3>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(3)));
164 if (sortableAttributes.size() > 4) {
165 std::get<4>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(4)));
167 if (sortableAttributes.size() > 5) {
168 std::get<5>(tuple) = GNEAttributeCarrier::parse<double>(
myEditedElements.at(i)->getAttribute(sortableAttributes.at(5)));
170 elementSortKeyVector.push_back(tuple);
174 std::set<SortTuple> elementSortKeySet;
175 for (
const auto& element : elementSortKeyVector) {
177 elementSortKeySet.insert(element);
180 elementSortKeyVector.clear();
181 for (
const auto& element : elementSortKeySet) {
182 elementSortKeyVector.push_back(element);
185 return elementSortKeyVector;