message: Simplify the adjacent_remove_if algorithm a bit
diff: @@ -46,12 +46,11 @@ namespace ranges
  operator()(I first, S last, Pred pred = {}, Proj proj = {}) const
  {
  first = adjacent_find(std::move(first), last, std::ref(pred), std::ref(proj));
  - if (first != last)
  - {
  - auto i = next(first);
  - if (i != last)
  - {
  - for (auto j = next(i); j != last; ++i, (void)++j)
  + if (first == last)
  + return first;
  +
  + auto i = first;
  + for (auto j = ++i; ++j != last; ++i)
  {
  if (!invoke(pred, invoke(proj, *i), invoke(proj, *j)))
  {
  @@ -59,9 +58,9 @@ namespace ranges
  ++first;
  }
  }
  - *first++ = iter_move(i);
  - }
  - }
  +
  + *first = iter_move(i);
  + ++first;
  return first;
  }
  