Size: a a a

2020 August 06

AF

Aidar Fattakhov in supapro.cxx
уже есть наверн
источник

D

Danya in supapro.cxx
Aidar Fattakhov
можно сделать decayed_same_as
Я думал, но не придумал как это сделать
источник

AF

Aidar Fattakhov in supapro.cxx
эм
источник

D

Danya in supapro.cxx
А, придумал
источник

TS

Till Schneider in supapro.cxx
Danya
А, придумал
template <typename T>
concept has_bool_foo = requires() {
   requires std::same_as<std::decay_t<decltype(T::foo)>, bool>;
};

?
источник

D

Danya in supapro.cxx
Till Schneider
template <typename T>
concept has_bool_foo = requires() {
   requires std::same_as<std::decay_t<decltype(T::foo)>, bool>;
};

?
namespace detail::d1 {
template <typename T, typename U>
concept decayed_same_as = std::same_as<std::decay_t<T>, std::decay_t<U>>;
}

template <typename T>
concept has_bool_foo = requires() {
       { T::foo } -> detail::d1::decayed_same_as<bool>;
};
источник

D

Danya in supapro.cxx
Danya
namespace detail::d1 {
template <typename T, typename U>
concept decayed_same_as = std::same_as<std::decay_t<T>, std::decay_t<U>>;
}

template <typename T>
concept has_bool_foo = requires() {
       { T::foo } -> detail::d1::decayed_same_as<bool>;
};
Хотя наверное лучше remove_cvref
источник

AF

Aidar Fattakhov in supapro.cxx
Till Schneider
template <typename T>
concept has_bool_foo = requires() {
   requires std::same_as<std::decay_t<decltype(T::foo)>, bool>;
};

?
эм
источник

TS

Till Schneider in supapro.cxx
что?
источник

AF

Aidar Fattakhov in supapro.cxx
что это
источник

TS

Till Schneider in supapro.cxx
Aidar Fattakhov
что это
источник

AF

Aidar Fattakhov in supapro.cxx
хочешь спойлер?
источник

D

Danya in supapro.cxx
template <typename T, typename U>
concept same_as_ignore_cvref = std::same_as<std::remove_cvref_t<T>, std::remove_cvref_t<U>>;


Кайф жи
источник

AF

Aidar Fattakhov in supapro.cxx
template <typename T>
concept has_bool_foo = requires() {
   requires std::is_same_v<decltype(T::foo), bool>;
};
источник

AF

Aidar Fattakhov in supapro.cxx
template <typename T>
concept has_bool_foo =  std::is_same_v<decltype(T::foo), bool>;
источник

TS

Till Schneider in supapro.cxx
Aidar Fattakhov
template <typename T>
concept has_bool_foo = requires() {
   requires std::is_same_v<decltype(T::foo), bool>;
};
это будет работать иначе
источник

AF

Aidar Fattakhov in supapro.cxx
это будет смотреть реальный тип а не decay castить
источник

TS

Till Schneider in supapro.cxx
Aidar Fattakhov
это будет смотреть реальный тип а не decay castить
ты забыл?!
источник

TS

Till Schneider in supapro.cxx
Aidar Fattakhov
template <typename T>
concept has_bool_foo =  std::is_same_v<decltype(T::foo), bool>;
ну это опять не решает проблему @unterumarmung
источник

AF

Aidar Fattakhov in supapro.cxx
ну у него тип const bool
источник