История изменений
Исправление gns, (текущая версия) :
begin() и end() можно для любых типов сделать без привязки к std.
Ключевое слово — _для_любых_типов_сделать_! Тип должен содержать именно это и еще оператор меньше, кажется. То есть, (вроде как) универсальная конструкция языка начинает работать с типами данных, на которые наложены архитектурные ограничения. То есть, она перестает быть универсальной. Ну так делайте тогда метод foreach в каждом контейнере, вопросов бы не было. А так, извините.
Привязка к std:: архитектурная. Я ж писал, контейнер должен соответствовать таковому из std::. А на операторе for консепты и констрейнты не прописаны, они там подразумеваемые. И это плохо.
Исходная версия gns, :
begin() и end() можно для любых типов сделать без привязки к std.
Ключевое слово — _для_любых_типов_сделать_! Тип должен содержать именно это и еще оператор меньше, кажется. То есть, (вроде как) универсальная конструкция языка начинает работать с типами данных, на которые наложены архитектурные ограничения. То есть, она перестает быть универсальной. Ну так делайте тогда метод foreach в каждом контейнере, вопросов бы не было. А так, извините.