KvDocument.cpp 1.2 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: 2022-05-12
  7. *
  8. * */
  9. #include <ls_std/io/kv/KvDocument.hpp>
  10. ls::std::io::KvDocument::KvDocument() : ls::std::core::Class("KvDocument")
  11. {}
  12. bool ls::std::io::KvDocument::addPair(ls::std::io::KvPair _pair)
  13. {
  14. bool added{};
  15. if (!this->_hasPair(_pair.getKey()))
  16. {
  17. ::std::pair<ls::std::core::type::kv_key, ls::std::io::KvPair> pair = ::std::make_pair(_pair.getKey(), _pair);
  18. added = this->pairs.insert(pair).second;
  19. }
  20. return added;
  21. }
  22. void ls::std::io::KvDocument::clear()
  23. {
  24. this->pairs.clear();
  25. }
  26. std::map<ls::std::core::type::kv_key, ls::std::io::KvPair> ls::std::io::KvDocument::getPairs()
  27. {
  28. return this->pairs;
  29. }
  30. bool ls::std::io::KvDocument::hasPair(const ls::std::core::type::kv_key &_key)
  31. {
  32. return this->_hasPair(_key);
  33. }
  34. bool ls::std::io::KvDocument::removePair(const ls::std::core::type::kv_key &_key)
  35. {
  36. return this->pairs.erase(_key) == 1;
  37. }
  38. bool ls::std::io::KvDocument::_hasPair(const ls::std::core::type::kv_key &_key)
  39. {
  40. return this->pairs.find(_key) != this->pairs.end();
  41. }