40 #include <boost/range/adaptor/reversed.hpp> 
   41 #include <boost/multi_index_container.hpp> 
   42 #include <boost/multi_index/member.hpp> 
   43 #include <boost/multi_index/ordered_index.hpp> 
   44 #include <boost/multi_index/sequenced_index.hpp> 
   48   namespace IdentificationDataInternal
 
   56       std::map<ScoreTypeRef, double> 
scores;
 
   60         boost::none, 
const std::map<ScoreTypeRef, double>& 
scores =
 
   61         std::map<ScoreTypeRef, double>()):
 
   79         std::vector<std::pair<ScoreTypeRef, double>> result;
 
   80         std::set<ScoreTypeRef> scores_done;
 
   87             auto pos = 
scores.find(score_ref);
 
   90               result.push_back(*pos);
 
   91               scores_done.insert(score_ref);
 
   95         for (
const auto& pair: 
scores)
 
   97           if (!scores_done.count(pair.first))
 
   99             result.push_back(pair);
 
  108     typedef boost::multi_index_container<
 
  109       AppliedProcessingStep,
 
  110       boost::multi_index::indexed_by<
 
  111         boost::multi_index::sequenced<>,
 
  112         boost::multi_index::ordered_unique<
 
  113           boost::multi_index::member<
 
  114             AppliedProcessingStep, boost::optional<ProcessingStepRef>,