add begin() and end() can be used in range-based loop, but is not enough for std::sort().