// Test for concepts support.  Not just the language feature; also headers.
#include <iostream>
#include <ranges>
#include <vector>


template<typename T>
concept Foo = std::ranges::input_range<T>;


template<Foo F> auto foo(F const &r)
{
  return std::distance(std::begin(r), std::end(r));
}


int main()
{
  std::vector<int> const v{1, 2, 3};
  std::cout << foo(v) << '\n';
}