Здравствуйте, Marty, Вы писали:
R>>R>>template <typename T>
R>>concept Cursor = std::default_initializable<T> && BooleanTestable;
R>>
M>Не, можно попроще как-то?
Да можно и без концептов, в принципе, сделать то же самое, просто следить за соблюдением контрактов будет значительно труднее. И в написании перегруженных функций концепты здорово помогают. Можно конечно, пробовать лепить самописные концепты поверх SFINAE. Я пробовал — получается довольно убого.