KvDocument.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2020-12-25
  6. * Changed: 2021-07-15
  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. bool ls_std::KvDocument::removePair(const ls_std::kv_key &_key)
  35. {
  36. return this->pairs.erase(_key) == 1;
  37. }
  38. bool ls_std::KvDocument::_hasPair(const ls_std::kv_key &_key)
  39. {
  40. return this->pairs.find(_key) != this->pairs.end();
  41. }