Существует набор настраиваемых элементов структуры:
struct MyStruct
{
int id;
std::string currencyCode;
int month;
int year;
int amount;
};
Эти данные будут отображаться в некоторой таблице, которая позволяет сортировать по нескольким столбцам (нажав на столбцы таблицы, удерживая клавишу Ctrl).
Сортировка коллекции объектов клиента по одному свойству выполняется так же, как:
vector<MyStruct> values;
std::sort( values.begin( ), values.end( ), [ ]( const MyStruct& lhs, const MyStruct& rhs )
{
return lhs.key < rhs.key;
});
или
struct MyStruct_x_Greater
{
bool operator()( const MyStruct& lMyStruct, const MyStruct& rMyStruct ) const {
return lMyStruct.x < rMyStruct.x;
}
};
std::sort( values.begin(), values.end(), MyStruct_x_Greater() );
Но как сделать сортировку по нескольким свойствам один за другим (что-то вроде sql ORDER BY column1 DESC, column2 ASC
)?