CARMA C++
RegCoordRange.h
Go to the documentation of this file.
1 #ifndef SZA_UTIL_REGCOORDRANGE_H
2 #define SZA_UTIL_REGCOORDRANGE_H
3 
12 #include "carma/szautil/Range.h"
14 
15 #include <vector>
16 
17 namespace sza {
18  namespace util {
19 
24  class RegCoordRange {
25  public:
26 
30  RegCoordRange(RegDescription& reg, CoordRange& range);
31 
35  virtual ~RegCoordRange();
36 
40  inline unsigned currentElement() {
41  return iElCurrent_;
42  }
43 
44  inline unsigned currentSlot() {
45  return iElCurrent_ + iSlotOffset_;
46  }
47 
51  const RegCoordRange& operator++();
52 
56  void reset();
57 
61  bool isEnd();
62 
66  friend std::ostream& operator<<(std::ostream& os, RegCoordRange& range);
67 
68  private:
69 
70  int iSlotOffset_;
71  unsigned iElCurrent_;
72  std::vector<Range<unsigned> > ranges_;
73  std::vector<Range<unsigned> >::iterator iRange_;
74 
75  }; // End class RegCoordRange
76 
77  } // End namespace util
78 } // End namespace sza
79 
80 
81 
82 #endif // End #ifndef SZA_UTIL_REGCOORDRANGE_H
bool isEnd()
Return true if we are at the end of our range.
A class for iterating over slot ranges specified in a CoordRange object.
Definition: RegCoordRange.h:24
Tagged: Fri Sep 17 15:48:20 PDT 2004.
unsigned currentElement()
Return the current element.
Definition: RegCoordRange.h:40
Tagged: Mon Sep 27 21:37:46 UTC 2004.
virtual ~RegCoordRange()
Destructor.
void reset()
Reset all iterators.
RegCoordRange(RegDescription &reg, CoordRange &range)
Constructor.
friend std::ostream & operator<<(std::ostream &os, RegCoordRange &range)
Allows cout &lt;&lt; RegCoordRange.
const RegCoordRange & operator++()
Prefix increment operator.
Tagged: Fri Sep 17 15:51:07 PDT 2004.