Использование отражения C ++ для автоматического генерации арифметических операторов?C++

Программы на C++. Форум разработчиков
Anonymous
Использование отражения C ++ для автоматического генерации арифметических операторов?

Сообщение Anonymous »

Поскольку предложение о отражении только что было принято в черновик C ++ 26, мне интересно, можно ли использовать ожидаемые объекты для автоматического генерации нескольких арифметических операторов для класса? | = , > = , будет ли способ генерировать все операторы, используя следующий шаблон?

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

// This is not legal C++, it is only for illustration purpose
template 
struct myclass {
using value_type = T;
template 
requires requires(T& x, const U& y){{x @= y} -> std::same_as;}
constexpr myclass& operator@=(const U& other) {
value @= other;
return *this;
}
T value;
};
Мне интересно, может ли это быть достигнуто с помощью представления оператора, описанного в meta.reflection.operators ?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -operators

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