Program Listing for File TileStorage.hpp
↰ Return to documentation for file (optional/gdal/src/navtk/geospatial/TileStorage.hpp)
#pragma once
#include <deque>
#include <memory>
#include <string>
#include <navtk/geospatial/Tile.hpp>
#include <navtk/not_null.hpp>
namespace navtk {
namespace geospatial {
class TileStorage final {
public:
explicit TileStorage(unsigned int max_size);
void add_tile(not_null<std::shared_ptr<Tile>> tile);
size_t get_size() const;
bool is_stored(const std::string& filename) const;
std::shared_ptr<Tile> get_tile(const std::string& filename) const;
private:
mutable std::deque<std::shared_ptr<Tile>> tiles;
TileStorage(const TileStorage&) = delete;
TileStorage& operator=(const TileStorage&) = delete;
size_t max_size;
};
} // namespace geospatial
} // namespace navtk