Go to the documentation of this file.00001 #ifndef LessDomItem_h
00002 #define LessDomItem_h
00003
00004 class IsLessByItemStrNew : public std::binary_function<const TDomItem, const TDomItem, bool>
00005 {
00006 public:
00007 const TItemContainer* m_pRoss;
00008
00009 IsLessByItemStrNew(const TItemContainer* pRoss)
00010 {m_pRoss = pRoss;}
00011
00012 bool operator()(const TDomItem& Item1, const TDomItem& Item2)
00013 {
00014 if (Item1.GetDomNo() != Item2.GetDomNo())
00015 return (Item1.GetDomNo() < Item2.GetDomNo());
00016 else
00017 return (strcmp (m_pRoss->GetDomItemStr(Item1), m_pRoss->GetDomItemStr(Item2)) < 0);
00018 }
00019 };
00020
00021
00022
00023 class IsLessByNotStableItemStrNew : public std::binary_function<const TDomItem&, const TDomNoItemStr&, bool>
00024 {
00025 public:
00026 const TItemContainer* m_pRoss;
00027
00028 IsLessByNotStableItemStrNew(const TItemContainer* pRoss)
00029 {m_pRoss = pRoss;}
00030
00031 bool operator()(const TDomItem& Item1, const TDomNoItemStr& Item2) const
00032 {
00033 if (Item1.GetDomNo() != Item2.DomNo)
00034 return (Item1.GetDomNo() < Item2.DomNo);
00035 else
00036 return (strcmp (m_pRoss->GetDomItemStr(Item1), Item2.ItemStr) < 0);
00037 }
00038 bool operator()(const TDomNoItemStr& Item1, const TDomItem& Item2) const
00039 {
00040 if (Item1.DomNo != Item2.GetDomNo())
00041 return (Item1.DomNo < Item2.GetDomNo());
00042 else
00043 return (strcmp (Item1.ItemStr, m_pRoss->GetDomItemStr(Item2)) < 0);
00044 }
00045 bool operator()(const TDomItem& Item1, const TDomItem& Item2) const
00046 {
00047 if (Item1.GetDomNo() != Item2.GetDomNo())
00048 return (Item1.GetDomNo() < Item2.GetDomNo());
00049 else
00050 return (strcmp (m_pRoss->GetDomItemStr(Item1), m_pRoss->GetDomItemStr(Item2)) < 0);
00051 }
00052
00053 };
00054
00055 #endif