blob: c06f6ae292e6637d7dea557e899a9e53407d1bde (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
// File: SelectMgr_CompareResults.hxx
// Created: 23.10.03 20:31:03
// Author: Alexander GRIGORIEV
// Copyright: Open Cascade 2003
#include <SelectMgr_IndexedDataMapOfOwnerCriterion.hxx>
#include <SelectMgr_SortCriterion.hxx>
#include <TCollection_CompareOfInteger.hxx>
class SelectMgr_CompareResults: public TCollection_CompareOfInteger
{
// Note : This operator must be implemented on first use. It is currently defined to avoid compiler warnings
SelectMgr_CompareResults & operator = ( const SelectMgr_CompareResults & ) { return *this; } ;
public:
SelectMgr_CompareResults
(const SelectMgr_IndexedDataMapOfOwnerCriterion& aMapOfCriterion)
: myMapOfCriterion (aMapOfCriterion) {}
Standard_Boolean IsLower
(const Standard_Integer&, const Standard_Integer&) const;
Standard_Boolean IsGreater
(const Standard_Integer&, const Standard_Integer&) const;
private:
const SelectMgr_IndexedDataMapOfOwnerCriterion& myMapOfCriterion;
};
//=======================================================================
//function : IsLower
//purpose : The sort order should be inverse (the greatest to come first)
//=======================================================================
inline Standard_Boolean SelectMgr_CompareResults::IsLower
(const Standard_Integer &Left,const Standard_Integer &Right) const
{
return (myMapOfCriterion.FindFromIndex(Left) >
myMapOfCriterion.FindFromIndex(Right));
}
//=======================================================================
//function : IsGreater
//purpose : The sort order should be inverse (the greatest to come first)
//=======================================================================
inline Standard_Boolean SelectMgr_CompareResults::IsGreater
(const Standard_Integer &Left,const Standard_Integer &Right) const
{
return (myMapOfCriterion.FindFromIndex(Left) <
myMapOfCriterion.FindFromIndex(Right));
}
|