KvDocument.cpp 1.2 KB

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