Я могу создать концепцию, которая проверяет существование функции-члена, называемой to_string (), которая возвращает std :: string в структуре / классе.
template<typename T>
concept method_to_string = requires(T v)
{
{ v.to_string() } -> std::same_as<std::string>;
};
Я хотел бы создать концепцию, которая проверяет существование глобальной функции to_string, которая принимает T
и возвращает std :: string. Я не могу этого сделать. В качестве компилятора я использую gcc 10.2.
Я предполагаю, что выгляжу так, но это не удается:
template<typename T>
concept function_to_string = requires(T v)
{
to_string(const T&) -> std::same_as<std::string>;
};
T
- это параметр. Я немного отредактировал вопрос, надеюсь, что все в порядке. - person cigien   schedule 11.10.2020