CARMA C++
RegAxisRange.h
Go to the documentation of this file.
1 #ifndef SZA_UTIL_REGAXISRANGE_H
2 #define SZA_UTIL_REGAXISRANGE_H
3 
13 
14 #include "carma/szaarrayutils/szaregs.h"
15 
16 #include <vector>
17 
18 namespace sza {
19  namespace util {
20 
21  class RegDescription;
22 
27  class RegAxisRange : public AxisRange {
28  public:
29 
33  RegAxisRange(RegDescription& reg, CoordRange& range);
34  RegAxisRange(RegDescription& reg, CoordRange* range=0);
35  RegAxisRange();
36  RegAxisRange(RegMapBlock* block);
37 
38  void setTo(RegDescription& reg, CoordRange* range);
39 
43  virtual ~RegAxisRange();
44 
48  inline int currentSlot() {
49  return iSlotOffset_ < 0 ? -1 : (int)currentElement() + iSlotOffset_;
50  }
51 
56  CoordRange currentCoordRange();
57 
61  friend std::ostream& operator<<(std::ostream& os, RegAxisRange& range);
62 
63  private:
64 
65  int iSlotOffset_;
66 
67  }; // End class RegAxisRange
68 
69  } // End namespace util
70 } // End namespace sza
71 
72 
73 
74 #endif // End #ifndef SZA_UTIL_REGAXISRANGE_H
Tagged: Tue Oct 5 13:18:11 PDT 2004.
CoordRange currentCoordRange()
Return the (singleton) coordinate range corresponding to the current element.
friend std::ostream & operator<<(std::ostream &os, RegAxisRange &range)
Allows cout &lt;&lt; RegAxisRange.
int currentSlot()
Return the current element.
Definition: RegAxisRange.h:48
A class for iterating over slot ranges specified in a CoordRange object.
Definition: RegAxisRange.h:27
virtual ~RegAxisRange()
Destructor.
Tagged: Fri Sep 17 15:51:07 PDT 2004.