CARMA C++
RangeParser.h
Go to the documentation of this file.
1 // $Id: RangeParser.h,v 1.1 2013/11/19 23:54:10 eml Exp $
2 
3 #ifndef SZA_UTIL_RANGEPARSER_H
4 #define SZA_UTIL_RANGEPARSER_H
5 
15 #include "carma/szautil/String.h"
16 
17 #include <vector>
18 
19 namespace sza {
20  namespace util {
21 
22  class RangeParser {
23  public:
24 
25  std::vector<unsigned> extractIndexRange(sza::util::String& antStr, unsigned lowestValid, unsigned highestValid,
26  unsigned baseIndex=0, bool actualIndex=true);
27 
28  unsigned parseIndexExpression(sza::util::String& str,
29  unsigned baseIndex, unsigned actualIndex,
30  unsigned lowestValid, unsigned highestValid);
31 
32  void parseIndexOperands(sza::util::String& str, unsigned& op1, unsigned& op2, std::string op,
33  unsigned baseIndex, unsigned actualIndex,
34  unsigned lowestValid, unsigned highestValid);
35 
36  void addIndex(std::vector<unsigned>& indices, unsigned index, unsigned lowestValid, unsigned highestValid);
37 
38  unsigned firstEvenIndex(unsigned lowestValid, unsigned highestValid);
39  unsigned firstOddIndex(unsigned lowestValid, unsigned highestValid);
40 
41  }; // End class RangeParser
42 
43  } // End namespace util
44 } // End namespace sza
45 
46 
47 
48 #endif // End #ifndef SZA_UTIL_RANGEPARSER_H
Tagged: Wed May 12 09:30:13 PDT 2004.