Do not assume operator==/!=() is a member function.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Mar 2008 12:20:13 +0000 (12:20 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Mar 2008 12:20:13 +0000 (12:20 +0000)
Improve const-correctness.

EVE/EveHLT/AliEveHOMERSource.h
EVE/EveHLT/AliEveHOMERSourceMap.cxx
EVE/EveHLT/AliEveHOMERSourceMap.h

index 1b304b3..9770c4e 100644 (file)
@@ -26,12 +26,13 @@ private:
 public:
   struct SourceId
   {
-    SourceId(): fDet(), fSDet(), fSSDet(), fType() {}
     TString fDet, fSDet, fSSDet, fType;
 
+    SourceId(): fDet(), fSDet(), fSSDet(), fType() {}
+
     struct CmpByDet
     {
-      bool operator()(const SourceId& s1, const SourceId& s2)
+      bool operator()(const SourceId& s1, const SourceId& s2) const
       {
        Int_t r;
        if ((r = s1.fDet  .CompareTo(s2.fDet)  )) return r < 0;
@@ -44,7 +45,7 @@ public:
 
     struct CmpByType
     {
-      bool operator()(const SourceId& s1, const SourceId& s2)
+      bool operator()(const SourceId& s1, const SourceId& s2) const
       {
        Int_t r;
        if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
index e7aef31..c4ba32d 100644 (file)
@@ -66,7 +66,7 @@ AliEveHOMERSourceMapByDet::AliEveHOMERSourceMapByDet(ESourceGrouping_e grouping)
   fMap()
 {}
 
-TString AliEveHOMERSourceMapByDet::iterator_imp::description()
+TString AliEveHOMERSourceMapByDet::iterator_imp::description() const
 {
   const AliEveHOMERSource::SourceId& sid = id();
 
@@ -124,7 +124,7 @@ AliEveHOMERSourceMapByType::AliEveHOMERSourceMapByType(ESourceGrouping_e groupin
   fMap()
 {}
 
-TString AliEveHOMERSourceMapByType::iterator_imp::description()
+TString AliEveHOMERSourceMapByType::iterator_imp::description() const
 {
   const AliEveHOMERSource::SourceId& sid = id();
 
index 5b8e51f..b0bf850 100644 (file)
@@ -23,15 +23,16 @@ protected:
   {
     virtual ~iterator_imp_base() {}
 
-    virtual const AliEveHOMERSource::SourceId&    id()    = 0;
+    virtual const AliEveHOMERSource::SourceId&    id()    const = 0;
+    virtual const AliEveHOMERSource::SourceState& state() const = 0;
     virtual       AliEveHOMERSource::SourceState& state() = 0;
 
-    virtual iterator_imp_base* clone() = 0;
+    virtual iterator_imp_base* clone() const = 0;
 
     virtual iterator_imp_base& operator++() = 0;
-    virtual bool operator!=(const iterator_imp_base& o) = 0;
+    virtual bool operator!=(const iterator_imp_base& o) const = 0;
 
-    virtual TString description() = 0;
+    virtual TString description() const = 0;
   };
 
 public:
@@ -106,19 +107,20 @@ protected:
     iterator_imp(Map_i mi) : Map_i(mi) {}
     virtual ~iterator_imp() {}
 
-    virtual const AliEveHOMERSource::SourceId&    id()    { return Map_i::operator*().first; }
+    virtual const AliEveHOMERSource::SourceId&    id()    const { return Map_i::operator*().first; }
+    virtual const AliEveHOMERSource::SourceState& state() const { return Map_i::operator*().second; }
     virtual       AliEveHOMERSource::SourceState& state() { return Map_i::operator*().second; }
 
-    virtual iterator_imp* clone()
+    virtual iterator_imp* clone() const
     { return new iterator_imp(*this); }
 
     virtual iterator_imp& operator++()
     { Map_i::operator++(); return *this; }
 
-    virtual bool operator!=(const iterator_imp_base& o)
-    { return Map_i::operator!=(dynamic_cast<const Map_i&>(o)); }
+    virtual bool operator!=(const iterator_imp_base& rhs) const
+    { const Map_i &lhs = *this; return lhs != dynamic_cast<const Map_i&>(rhs); }
 
-    virtual TString description();
+    virtual TString description() const;
   };
 
   void insert(AliEveHOMERSource::SourceId& sid, AliEveHOMERSource::SourceState& sst, Bool_t def_state);
@@ -155,19 +157,20 @@ protected:
     iterator_imp(Map_i mi) : Map_i(mi) {}
     virtual ~iterator_imp() {}
 
-    virtual const AliEveHOMERSource::SourceId&    id()    { return Map_i::operator*().first; }
+    virtual const AliEveHOMERSource::SourceId&    id()    const { return Map_i::operator*().first; }
+    virtual const AliEveHOMERSource::SourceState& state() const { return Map_i::operator*().second; }
     virtual       AliEveHOMERSource::SourceState& state() { return Map_i::operator*().second; }
 
-    virtual iterator_imp* clone()
+    virtual iterator_imp* clone() const
     { return new iterator_imp(*this); }
 
     virtual iterator_imp& operator++()
     { Map_i::operator++(); return *this; }
 
-    virtual bool operator!=(const iterator_imp_base& o)
-    { return Map_i::operator!=(dynamic_cast<const Map_i&>(o)); }
+    virtual bool operator!=(const iterator_imp_base& rhs) const
+    { const Map_i &lhs = *this; return lhs != dynamic_cast<const Map_i&>(rhs); }
 
-    virtual TString description();
+    virtual TString description() const;
   };
 
   void insert(AliEveHOMERSource::SourceId& sid, AliEveHOMERSource::SourceState& sst, Bool_t def_state);