Как определить «концепцию», которая использует «концепцию» в C++ 20?C++

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

Сообщение Anonymous »


Я изучаю концепции в C++ 20 и пришел к необходимости определить концепцию, используя ранее определенную концепцию.
р>
Итак, в приведенном ниже примере я ожидал, что f() сгенерирует ошибку компилятора, поскольку events_published в pub_b этого не делает. удовлетворять концепции publisher, поскольку ev_2 не соответствует концепции event.

Похоже, что использование концепции event в концепции publisher не имеет никакого эффекта.

Отчеты о версии G++

g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Авторские права (C) 2021 Free Software Foundation, Inc. Это бесплатное программное обеспечение; условия копирования см. в источнике. Здесь нет гарантия; даже не для ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Что я делаю не так?
#include #include шаблон концептуальное событие = требует { std::default_initializable; std::copy_constructible; std::move_constructible; }; структура ev_1 { ev_1() = по умолчанию; ev_1(const ev_1 &) = по умолчанию; ev_1(ev_1 &&) = по умолчанию; }; структура ev_2 { ev_2() = удалить; ev_2(const ev_2 &) = по умолчанию; ev_2(ev_2 &&) = по умолчанию; }; шаблон издатель концепции = требуется { имя типа t::events_published; require[](std::index_sequence) { return ((event>)&&...); } (std::make_index_sequence()); }; структура pub_a { использование event_published = std::tuple; }; структура pub_b { использование event_published = std::tuple; }; шаблон void f() {} интервал основной() { е(); е(); вернуть 0; }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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