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