Welcome to mirror list, hosted at ThFree Co, Russian Federation.

string_storage_base.hpp « platform - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9c2ae8282b1807122bdc5281e1729ef636bfe3fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include <map>
#include <mutex>
#include <string>

namespace platform
{
class StringStorageBase
{
public:
  explicit StringStorageBase(std::string const & path);
  void Save() const;
  void Clear();
  bool GetValue(std::string const & key, std::string & outValue) const;
  void SetValue(std::string const & key, std::string && value);
  void DeleteKeyAndValue(std::string const & key);
  
private:
  using Container = std::map<std::string, std::string>;
  Container m_values;
  mutable std::mutex m_mutex;
  std::string const m_path;
};
}  // namespace platform