/* * File: SegmentCache.h * Author: Christopher * * Created on December 10, 2013, 9:56 PM */ #ifndef SEGMENTCACHE_H #define SEGMENTCACHE_H #include "setpSeg.h" #include #include #include #include class Segment; class Common; class SegmentCache { public: SegmentCache() { } virtual ~SegmentCache() { } Segment* getOrAdd(const std::string& id); setpSeg all() const; std::map >::const_iterator begin() const { return this->cache.begin(); } std::map >::const_iterator end() const { return this->cache.end(); } private: std::map > cache; SegmentCache(const SegmentCache&) = delete; SegmentCache& operator=(const SegmentCache&) = delete; Segment* get(const std::string& id) const; bool cached(const std::string& id) const; friend Common; }; #endif /* SEGMENTCACHE_H */