AerosolDB.h
Go to the documentation of this file.
1 #ifndef _atm_AerosolDB_h_
2 #define _atm_AerosolDB_h_
3 
4 #include <atm/AerosolZone.h>
5 
6 #include <boost/iterator/transform_iterator.hpp>
7 
8 #include <map>
9 #include <string>
10 
11 
12 namespace atm {
13 
14  class AerosolDB {
15 
16  private:
17  void CacheZones();
18 
19  typedef std::map<std::string, const AerosolZone*> InternalZoneMap;
20  typedef InternalZoneMap::const_iterator InternalZoneIterator;
21 
23 
25  const AerosolZone& operator()(const std::pair<std::string, const AerosolZone*>& pair) const
26  { return *pair.second; }
27  };
28 
29  public:
31  typedef boost::transform_iterator<InternalZoneFunctor,
34 
37  { return ZoneIterator(fZoneMap.begin()); }
38 
41  { return ZoneIterator(fZoneMap.end()); }
42 
43  private:
44  AerosolDB();
45  ~AerosolDB();
46 
47  std::string fAerosolIdString; // specifies the aerosol_id key for given time, software version, etc.
48 
49  friend class Atmosphere;
50 
51  };
52 
53 } // namespace atm
54 
55 
56 #endif
57 
58 // Configure (x)emacs for this file ...
59 // Local Variables:
60 // mode: c++
61 // compile-command: "make -C .. -k"
62 // End:
void CacheZones()
Definition: AerosolDB.cc:45
ZoneIterator ZonesBegin() const
Beginning of the collection of valid Zones.
Definition: AerosolDB.h:36
Top of the interface to Atmosphere information.
std::map< std::string, const AerosolZone * > InternalZoneMap
Definition: AerosolDB.h:19
boost::transform_iterator< InternalZoneFunctor, InternalZoneIterator, const AerosolZone & > ZoneIterator
ZoneIterator returns a pointer to an AerosolZone.
Definition: AerosolDB.h:33
Class for loading and storing a collection of aerosol data.
Definition: AerosolDB.h:14
const AerosolZone & operator()(const std::pair< std::string, const AerosolZone * > &pair) const
Definition: AerosolDB.h:25
InternalZoneMap::const_iterator InternalZoneIterator
Definition: AerosolDB.h:20
Class for storing an hour&#39;s worth of aerosol data.
Definition: AerosolZone.h:27
std::string fAerosolIdString
Definition: AerosolDB.h:47
ZoneIterator ZonesEnd() const
End of the collection of valid Zones.
Definition: AerosolDB.h:40
InternalZoneMap fZoneMap
Definition: AerosolDB.h:22

, generated on Tue Sep 26 2023.