Mam następujące struktury danych:
struct Dependency
{
int differency;
int max;
int imageID;
struct AscendingOrder
{
int operator()(const Dependency &d1,const Dependency &d2) const
{
// TO TRZEBA ZMIENIĆ (dodać zależności od int edgeModule; int max; i ImageEdges *imgEdges;
return d1.differency<d2.differency;
}
};
};
typedef vector<Dependency> DependencyList;
struct EdgeProperties
{
int edgeModule;
int max;
DependencyList dependencyList;
};
struct ImageEdges
{
EdgeProperties top,bottom,left,right;
};
ImageEdges *imgEdges;
I następujące wywołanie funkcji sortującej:
sort(imgEdges[i].top.dependencyList.begin(),imgEdges[i].top.dependencyList.end(),Dependency::AscendingOrder()); sort(imgEdges[i].bottom.dependencyList.begin(),imgEdges[i].bottom.dependencyList.end(),Dependency::AscendingOrder());
sort(imgEdges[i].left.dependencyList.begin(),imgEdges[i].left.dependencyList.end(),Dependency::AscendingOrder());
sort(imgEdges[i].right.dependencyList.begin(),imgEdges[i].right.dependencyList.end(),Dependency::AscendingOrder());
Pytanie moje jest: jak zmienić następujący kod aby sortowanie było jeszcze zależne od danych w strukturze struct EdgeProperties
, czyli int edgeModule; int max;</code> i innych obiektow wskazywanych przez <code>imgEdges
Kiedyś coś widziałem na necie ale nie mogę znaleźć.