KVDocument.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2020-12-25
  6. * Changed: 2021-04-23
  7. *
  8. * */
  9. #include <ls_std/io/kv/KVDocument.hpp>
  10. ls_std::KVDocument::KVDocument() : ls_std::Class("KVDocument")
  11. {}
  12. bool ls_std::KVDocument::addPair(ls_std::KVPair _pair)
  13. {
  14. bool added{};
  15. if (!this->_hasPair(_pair.getKey()))
  16. {
  17. std::pair<ls_std::kv_key, ls_std::KVPair> pair = std::make_pair(_pair.getKey(), _pair);
  18. added = this->pairs.insert(pair).second;
  19. }
  20. return added;
  21. }
  22. void ls_std::KVDocument::clear()
  23. {
  24. this->pairs.clear();
  25. }
  26. std::map<ls_std::kv_key, ls_std::KVPair> ls_std::KVDocument::getPairs()
  27. {
  28. return this->pairs;
  29. }
  30. bool ls_std::KVDocument::hasPair(const ls_std::kv_key &_key)
  31. {
  32. return this->_hasPair(_key);
  33. }
  34. void ls_std::KVDocument::removePair(const ls_std::kv_key &_key)
  35. {
  36. if (_hasPair(_key))
  37. {
  38. this->pairs.erase(_key);
  39. }
  40. }
  41. bool ls_std::KVDocument::_hasPair(const ls_std::kv_key &_key)
  42. {
  43. return this->pairs.find(_key) != this->pairs.end();
  44. }