8 #ifndef LORENZ95_OBSITERATOR_H_ 
    9 #define LORENZ95_OBSITERATOR_H_ 
   15 #include "eckit/geometry/Point2.h" 
   17 #include "oops/util/ObjectCounter.h" 
   18 #include "oops/util/Printable.h" 
   23 class ObsIterator: 
public std::iterator<std::forward_iterator_tag,
 
   24                                        eckit::geometry::Point2>,
 
   25                    public util::Printable,
 
   26                    private util::ObjectCounter<ObsIterator> {
 
   28   static const std::string 
classname() {
return "lorenz95::ObsIterator";}
 
   30   ObsIterator(
const std::vector<double> & locations, 
int index);
 
   36   eckit::geometry::Point2 
operator*() 
const;
 
Iterator over all observations.
 
eckit::geometry::Point2 operator*() const
return location of current observation
 
void print(std::ostream &os) const override
 
const std::vector< double > locations_
locations (in 1D) of all observations
 
ObsIterator(const std::vector< double > &locations, int index)
 
ObsIterator & operator++()
 
bool operator!=(const ObsIterator &) const
 
static const std::string classname()
 
int index_
index of a current observation
 
bool operator==(const ObsIterator &) const
 
The namespace for the L95 model.