Cogs.Core
MemoryCache.h
1#pragma once
2#include "BaseRasterSource.h"
3
4#include "Foundation/Platform/Threads.h"
5
6#include <unordered_map>
7
8namespace Cogs::Core::TerrainProvider {
9
10
11 class MemoryCache : public ICache
12 {
13 public:
14 virtual ~MemoryCache();
15
16 bool getTile(Memory::MemoryBuffer& contents, MimeType& kind, const TileId& id) final;
17
18 bool storeTile(const Memory::MemoryBuffer& contents, MimeType kind, const TileId& id, StringView debugLog) final;
19
20 private:
21 struct Item
22 {
23 MimeType mimeType = MimeType::None;
25 };
26
27 Cogs::Mutex mutex;
28 std::unordered_map<uint64_t, Item> items;
29 };
30
31
32
33}
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24