std::size, std::ssize - cppreference
Custom overloads of size may be provided for classes and enumerations that do not expose a suitable size () member function, yet can be detected. Overloads of size found by argument dependent lookup can be used to customize the behavior of std::ranges::size, std::ranges::ssize, and std::ranges::empty . (since C++20)
