+bool userSuppliedLessThanFunction(gdcm::File *f1, gdcm::File *f2)
+{
+ // for *this* user supplied function, I supposed only ValEntries are checked.
+//
+ std::string s1, s2;
+ gdcm::DataEntry *e1,*e2;
+ for (int ri=0; ri<orderNb; ri++)
+ {
+ std::cout << std::hex << elemsToOrderOn[2*ri] << "|"
+ << elemsToOrderOn[2*ri+1]
+ << std::endl;
+
+ e1= f1->GetDataEntry( elemsToOrderOn[2*ri],
+ elemsToOrderOn[2*ri+1]);
+
+ e2= f2->GetDataEntry( elemsToOrderOn[2*ri],
+ elemsToOrderOn[2*ri+1]);
+ if(!e2 || !e2)
+ {
+ std::cout << std::hex << elemsToOrderOn[2*ri] << "|"
+ << elemsToOrderOn[2*ri+1]
+ << " not found" << std::endl;
+ continue;
+ }
+ s1 = e1->GetString();
+ s2 = e2->GetString();
+ std::cout << "[" << s1 << "] vs [" << s2 << "]" << std::endl;
+ if ( s1 < s2 )
+ return true;
+ else if (s1 == s2 )
+ continue;
+ else
+ return false;
+ }
+ return false; // all fields equal
+}