Как я могу определить концепцию, которая ограничивается на основе возвращаемого значения функции contexPR?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу определить концепцию, которая ограничивается на основе возвращаемого значения функции contexPR?

Сообщение Anonymous »

Предположим, я бы хотел написать функцию, которая принимает все, что я могу выполнить с размером ровно 2 . Как я могу написать концепцию для этого? Самое близкое, я думаю, я получил следующее: < /p>

Код: Выделить всё

#include 
#include 
#include 
#include 

template
concept RangeOfSize =
std::ranges::sized_range &&
requires (T i) { i.size() == N; }
;

void f(RangeOfSize auto&& r) { std::cout 
Ideally it would fail to compile on the second call to f
Потому что этот массив не 2 элемента длиной. В идеале это потерпит неудачу с ошибкой приятно прочитать, но я отказываюсь от надежды на это. ).

Подробнее здесь: https://stackoverflow.com/questions/794 ... -a-constex

Вернуться в «C++»