std::begin and std::end support