различать два концепта:
template <class T>
concept constexpr_noexcept_some = requires(T t) {
{ constexpr t.test() const noexcept } // это не работает
->std::same_as<bool>;
};
template <class T>
concept runtime_excepted_mutable_some = requires(T t) {
{ t.test() }
->std::same_as<bool>;
};
Или концепты так не умеют?
requires(T const t) { { t.test() } noexcept -> std::same_as<bool>; }
Обсуждают сегодня