44 #ifndef GNSSTK_RINEXOBSFILTEROPERATORS_HPP
45 #define GNSSTK_RINEXOBSFILTEROPERATORS_HPP
62 public std::binary_function<gnsstk::RinexObsData,
63 gnsstk::RinexObsData, bool>
70 (
const std::set<gnsstk::RinexObsType>& rohset)
101 if (l.
obs.size() < r.
obs.size())
104 if (l.
obs.size() > r.
obs.size())
109 gnsstk::RinexObsData::RinexSatMap::const_iterator lItr =
114 while (lItr != l.
obs.end())
117 rItr = r.
obs.find(sat);
118 if (rItr == r.
obs.end())
122 lObs = (*lItr).second,
123 rObs = (*rItr).second;
125 std::set<gnsstk::RinexObsType>::const_iterator obsItr =
128 while (obsItr !=
obsSet.end())
131 lData = lObs[*obsItr];
132 rData = rObs[*obsItr];
137 if ( (lData.
lli != 0) && (rData.
lli != 0) )
138 if (lData.
lli < rData.
lli)
141 if ( (lData.
ssi != 0) && (rData.
ssi != 0) )
142 if (lData.
ssi < rData.
ssi)
162 public std::binary_function<gnsstk::RinexObsData,
163 gnsstk::RinexObsData, bool>
178 public std::binary_function<gnsstk::RinexObsData,
179 gnsstk::RinexObsData, bool>
199 public std::unary_function<gnsstk::RinexObsHeader, bool>
215 std::set<gnsstk::RinexObsType> thisObsSet,
217 std::set<std::string> commentSet;
224 inserter(commentSet, commentSet.begin()));
227 inserter(commentSet, commentSet.begin()));
230 copy(commentSet.begin(), commentSet.end(),
237 inserter(thisObsSet, thisObsSet.begin()));
240 inserter(tempObsSet, tempObsSet.begin()));
241 set_intersection(thisObsSet.begin(), thisObsSet.end(),
242 tempObsSet.begin(), tempObsSet.end(),