00001 #pragma ident "$Id: ProcessingList.hpp 1351 2008-08-07 14:33:39Z architest $"
00002
00008 #ifndef PROCESSINGLIST_HPP
00009 #define PROCESSINGLIST_HPP
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include <list>
00035 #include "ProcessingClass.hpp"
00036
00037
00038 namespace gpstk
00039 {
00040
00043
00044
00081 class ProcessingList : public ProcessingClass
00082 {
00083 public:
00084
00085
00087 ProcessingList()
00088 { setIndex(); };
00089
00090
00095 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData);
00096
00097
00102 virtual gnssRinex& Process(gnssRinex& gData);
00103
00104
00106 virtual ProcessingClass* front(void)
00107 { return (proclist.front()); };
00108
00109
00111 virtual ProcessingClass* back(void)
00112 { return (proclist.back()); };
00113
00114
00119 virtual void push_front(ProcessingClass& pClass)
00120 { proclist.push_front( (&pClass) ); return; };
00121
00122
00127 virtual void push_back(ProcessingClass& pClass)
00128 { proclist.push_back( (&pClass) ); return; };
00129
00130
00132 virtual void pop_front(void)
00133 { proclist.pop_front(); return; };
00134
00135
00137 virtual void pop_back(void)
00138 { proclist.pop_back(); return; };
00139
00140
00142 virtual bool empty(void) const
00143 { return (proclist.empty()); };
00144
00145
00147 virtual int size(void) const
00148 { return (proclist.size()); };
00149
00150
00152 virtual void clear(void)
00153 { return (proclist.clear()); };
00154
00155
00157 virtual int getIndex(void) const;
00158
00159
00161 virtual std::string getClassName(void) const;
00162
00163
00165 virtual ~ProcessingList() {};
00166
00167
00168 private:
00169
00170
00172 std::list<ProcessingClass*> proclist;
00173
00175 static int classIndex;
00176
00178 int index;
00179
00181 void setIndex(void)
00182 { index = classIndex++; };
00183
00184
00185 };
00186
00188
00189 }
00190 #endif // PROCESSINGLIST_HPP