Reputation: 1
I have two structs:
struct memBlock {
uint32_t pid;
uint32_t moduleSize;
void* moduleStart;
};
struct memory{
uint32_t memSize;
uint32_t memSizeOS;
uint32_t chunkSize;
uint32_t nextFit;
list<memBlock> freeMem;
list<memBlock> usedMem;
};
memory memo;
I want to sort the freeMem list of memo in ascending order of moduleSize.
How can I accomplish this?
I tried this:
sort( memo.freeMem.begin( ), memo.freeMem.end( ),
[]( const memory& a, const memory&b ){
return a.freeMem < b.freeMem;
} );
but I don't know how to specify that sort should consider moduleSize variable.
Solution:
memo.freeMem.sort([]( memBlock a,memBlock b){return a.moduleSize<b.moduleSize;});
Upvotes: 0
Views: 60
Reputation: 73081
Probably you want something like this:
sort( memo.freeMem.begin( ), memo.freeMem.end( ),
[]( const memblock& a, const memblock&b ){
return a.moduleSize < b.moduleSize;
} );
Upvotes: 3