Re[2]: members comparison
От: Кодт Россия  
Дата: 12.04.15 20:48
Оценка: 24 (6) +2
Здравствуйте, uzhas, Вы писали:

U>очень удобным в некоторых случаях является функция std::tie


Ещё удобнее было бы избавиться от копипасто-опасного кода — сделать что-то такое
struct S { A a; B b; C c; };
auto const S_fields = [](S const& obj) -> auto { return std::tie(obj.a, obj.b, obj.c); };

bool operator == (S const& lhs, S const& rhs) { return S_fields(lhs) == S_fields(rhs); }
bool operator <  (S const& lhs, S const& rhs) { return S_fields(lhs) <  S_fields(rhs); }


Компилируется http://ideone.com/wV2FJ6
Перекуём баги на фичи!
Отредактировано 12.04.2015 20:50 Кодт . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.