Beispiel #1
0
void 
AirspaceSorter::sort_name(AirspaceSelectInfoVector& vec) const
{
  std::sort(vec.begin(),
            vec.end(),
            AirspaceNameCompare);
}
Beispiel #2
0
void
AirspaceSorter::filter_name(AirspaceSelectInfoVector& vec,
                            const unsigned char c) const
{
  MatchChar = c;
  vec.erase(std::remove_if(vec.begin(), vec.end(), AirspaceNameFilter), vec.end());
}
Beispiel #3
0
void 
AirspaceSorter::sort_distance(AirspaceSelectInfoVector& vec) const
{
  std::sort(vec.begin(),
            vec.end(),
            AirspaceDistanceCompare);
}
Beispiel #4
0
void 
AirspaceSorter::filter_direction(AirspaceSelectInfoVector& vec, 
                                 const Angle direction) const
{
  Direction = direction;
  vec.erase(std::remove_if(vec.begin(), vec.end(), AirspaceDirectionFilter), 
            vec.end());
}
Beispiel #5
0
static void
SortByName(AirspaceSelectInfoVector &vec)
{
  auto compare = [&] (const AirspaceSelectInfo &elem1,
                      const AirspaceSelectInfo &elem2) {
    return StringCollate(elem1.GetAirspace().GetName(),
                         elem2.GetAirspace().GetName()) < 0;
  };

  std::sort(vec.begin(), vec.end(), compare);
}
Beispiel #6
0
static void
SortByDistance(AirspaceSelectInfoVector &vec, const GeoPoint &location,
               const FlatProjection &projection)
{
  auto compare = [&] (const AirspaceSelectInfo &elem1,
                      const AirspaceSelectInfo &elem2) {
    return elem1.GetVector(location, projection).distance <
           elem2.GetVector(location, projection).distance;
  };

  std::sort(vec.begin(), vec.end(), compare);
}
Beispiel #7
0
void
AirspaceSorter::filter_class(AirspaceSelectInfoVector& vec, const AirspaceClass_t t) const
{
  MatchClass = t;
  vec.erase(std::remove_if(vec.begin(), vec.end(), AirspaceClassFilter), vec.end());
}
Beispiel #8
0
void 
AirspaceSorter::filter_distance(AirspaceSelectInfoVector& vec, const fixed distance) const
{
  MaxDistance = distance;
  vec.erase(std::remove_if(vec.begin(), vec.end(), AirspaceDistanceFilter), vec.end());
}