Практика концептов в C++
Объявите концепт Inc с ++a
внутри requires. Напишите шаблон
advance, увеличивающий int
на единицу, и выведите результат для 0.
Создайте функцию pick(std::integral auto x),
возвращающую x. Выведите значение
для 42.
Объявите template<std::floating_point T> T avg(T a, T b)
как среднее двух чисел. Выведите результат
для 2.0 и 4.0.
Напишите шаблон cast_slot с
std::convertible_to<T, int>,
возвращающий int. Выведите число
для long со значением 9.
Задайте концепт HasSize через
std::ranges::range. Напишите шаблон
report, выводящий std::ranges::size
для std::vector<int> из двух
элементов.