Browse Source

Address SonarLint findings in SectionPair like classes

Patrick-Christopher Mattulat 1 year ago
parent
commit
5159a0aed6
46 changed files with 231 additions and 216 deletions
  1. 2 2
      include/ls-std/io/section-pair/SectionPairRowEnumType.hpp
  2. 7 6
      include/ls-std/io/section-pair/model/SectionPairRow.hpp
  3. 4 4
      include/ls-std/io/section-pair/model/SectionPairRowListValue.hpp
  4. 2 2
      include/ls-std/io/section-pair/model/SectionPairRowSingleValue.hpp
  5. 3 2
      include/ls-std/io/section-pair/model/SectionPairRowValue.hpp
  6. 9 8
      include/ls-std/io/section-pair/model/SectionPairSection.hpp
  7. 3 3
      include/ls-std/io/section-pair/reader/SectionPairFileReader.hpp
  8. 7 6
      include/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.hpp
  9. 6 5
      include/ls-std/io/section-pair/serialization/SerializableSectionPairDocument.hpp
  10. 4 3
      include/ls-std/io/section-pair/serialization/SerializableSectionPairParameter.hpp
  11. 5 5
      include/ls-std/io/section-pair/serialization/SerializableSectionPairRow.hpp
  12. 5 4
      include/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.hpp
  13. 2 2
      include/ls-std/io/section-pair/serialization/SerializableSectionPairRowSingleValue.hpp
  14. 12 11
      include/ls-std/io/section-pair/serialization/SerializableSectionPairSection.hpp
  15. 10 9
      source/ls-std/io/section-pair/model/SectionPairRow.cpp
  16. 4 4
      source/ls-std/io/section-pair/model/SectionPairRowListValue.cpp
  17. 2 2
      source/ls-std/io/section-pair/model/SectionPairRowSingleValue.cpp
  18. 6 3
      source/ls-std/io/section-pair/model/SectionPairRowValue.cpp
  19. 11 10
      source/ls-std/io/section-pair/model/SectionPairSection.cpp
  20. 3 3
      source/ls-std/io/section-pair/reader/SectionPairFileReader.cpp
  21. 7 6
      source/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.cpp
  22. 10 9
      source/ls-std/io/section-pair/serialization/SerializableSectionPairDocument.cpp
  23. 4 3
      source/ls-std/io/section-pair/serialization/SerializableSectionPairParameter.cpp
  24. 6 7
      source/ls-std/io/section-pair/serialization/SerializableSectionPairRow.cpp
  25. 6 6
      source/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.cpp
  26. 3 4
      source/ls-std/io/section-pair/serialization/SerializableSectionPairRowSingleValue.cpp
  27. 17 16
      source/ls-std/io/section-pair/serialization/SerializableSectionPairSection.cpp
  28. 2 2
      source/ls-std/io/section-pair/validator/SectionPairRowListValueValidator.cpp
  29. 2 2
      source/ls-std/io/section-pair/validator/SectionPairRowSingleValueValidator.cpp
  30. 2 2
      source/ls-std/io/section-pair/validator/SectionPairRowValidator.cpp
  31. 2 2
      source/ls-std/io/section-pair/validator/SectionPairSectionValidator.cpp
  32. 2 2
      test/cases/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluatorTest.cpp
  33. 2 2
      test/cases/io/section-pair/evaluator/SectionPairRowArgumentEvaluatorTest.cpp
  34. 2 2
      test/cases/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluatorTest.cpp
  35. 2 2
      test/cases/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluatorTest.cpp
  36. 2 2
      test/cases/io/section-pair/evaluator/SectionPairSectionArgumentEvaluatorTest.cpp
  37. 2 2
      test/cases/io/section-pair/evaluator/SectionPairValueArgumentEvaluatorTest.cpp
  38. 3 3
      test/cases/io/section-pair/model/SectionPairRowListValueTest.cpp
  39. 3 3
      test/cases/io/section-pair/model/SectionPairRowSingleValueTest.cpp
  40. 5 5
      test/cases/io/section-pair/model/SectionPairRowTest.cpp
  41. 17 17
      test/cases/io/section-pair/model/SectionPairSectionTest.cpp
  42. 4 4
      test/cases/io/section-pair/serialization/SerializableSectionPairRowListValueTest.cpp
  43. 2 2
      test/cases/io/section-pair/serialization/SerializableSectionPairRowSingleValueTest.cpp
  44. 3 3
      test/cases/io/section-pair/serialization/SerializableSectionPairSectionTest.cpp
  45. 9 9
      test/classes/io/section-pair/SectionPairSectionProvider.cpp
  46. 5 5
      test/classes/io/section-pair/SerializableSectionPairRowProvider.cpp

+ 2 - 2
include/ls-std/io/section-pair/SectionPairRowEnumType.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2023-02-10
+* Changed:         2023-05-18
 *
 * */
 
@@ -12,7 +12,7 @@
 
 namespace ls::std::io
 {
-  enum SectionPairRowEnumType
+  enum class SectionPairRowEnumType
   {
     SECTION_PAIR_ROW_NOT_IMPLEMENTED = 0,
     SECTION_PAIR_ROW_LIST_VALUE,

+ 7 - 6
include/ls-std/io/section-pair/model/SectionPairRow.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -18,6 +18,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <memory>
 #include <string>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -28,12 +29,12 @@ namespace ls::std::io
       explicit SectionPairRow(const ls::std::io::section_pair_identifier &_key, const ls::std::io::SectionPairRowEnumType &_type);
       ~SectionPairRow() noexcept override;
 
-      [[nodiscard]] ls::std::io::section_pair_identifier getKey();
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairRowValue> getValue();
-      [[nodiscard]] bool isList();
-      [[nodiscard]] bool isSingleValue();
+      [[nodiscard]] ls::std::io::section_pair_identifier getKey() const;
+      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairRowValue> getValue() const;
+      [[nodiscard]] bool isList() const;
+      [[nodiscard]] bool isSingleValue() const;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
-      void reserveNewLine(const ::std::string &_reservedNewLine);
+      void reserveNewLine(::std::string_view _reservedNewLine);
       void setKey(const ls::std::io::section_pair_identifier &_key);
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 

+ 4 - 4
include/ls-std/io/section-pair/model/SectionPairRowListValue.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -27,9 +27,9 @@ namespace ls::std::io
 
       void add(const ls::std::io::section_pair_row_value &_value);
       void clear();
-      [[nodiscard]] ls::std::io::section_pair_row_value get(size_t _index);
-      [[nodiscard]] ::std::list<ls::std::io::section_pair_row_value> getList();
-      [[nodiscard]] size_t getSize();
+      [[nodiscard]] ls::std::io::section_pair_row_value get(size_t _index) const;
+      [[nodiscard]] ::std::list<ls::std::io::section_pair_row_value> getList() const;
+      [[nodiscard]] size_t getSize() const;
       [[nodiscard]] ls::std::io::SectionPairRowEnumType getType() override;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
       void unmarshal(const ls::std::core::type::byte_field &_data) override;

+ 2 - 2
include/ls-std/io/section-pair/model/SectionPairRowSingleValue.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -26,7 +26,7 @@ namespace ls::std::io
       explicit SectionPairRowSingleValue(const ls::std::io::section_pair_row_value &_value);
       ~SectionPairRowSingleValue() noexcept override;
 
-      [[nodiscard]] ls::std::io::section_pair_row_value get();
+      [[nodiscard]] ls::std::io::section_pair_row_value get() const;
       [[nodiscard]] ls::std::io::SectionPairRowEnumType getType() override;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
       void set(const ls::std::io::section_pair_row_value &_value);

+ 3 - 2
include/ls-std/io/section-pair/model/SectionPairRowValue.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -13,6 +13,7 @@
 #include <ls-std/core/interface/ISerializable.hpp>
 #include <ls-std/io/section-pair/SectionPairRowEnumType.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -25,7 +26,7 @@ namespace ls::std::io
 
       virtual ls::std::io::SectionPairRowEnumType getType() = 0;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
-      void reserveNewLine(const ::std::string &_reservedNewLine);
+      void reserveNewLine(::std::string_view _reservedNewLine);
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
     protected:

+ 9 - 8
include/ls-std/io/section-pair/model/SectionPairSection.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-13
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -18,6 +18,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <memory>
 #include <string>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -30,14 +31,14 @@ namespace ls::std::io
 
       void add(const ls::std::io::section_pair_row_list_element &_row);
       void clear();
-      [[nodiscard]] ls::std::io::section_pair_row_list_element get(size_t _index);
-      [[nodiscard]] ls::std::io::section_pair_row_list_element get(const ls::std::io::section_pair_identifier &_key);
-      [[nodiscard]] ls::std::io::section_pair_row_list getList();
-      [[nodiscard]] size_t getRowAmount();
-      [[nodiscard]] ls::std::io::section_pair_identifier getSectionId();
+      [[nodiscard]] ls::std::io::section_pair_row_list_element get(size_t _index) const;
+      [[nodiscard]] ls::std::io::section_pair_row_list_element get(const ls::std::io::section_pair_identifier &_key) const;
+      [[nodiscard]] ls::std::io::section_pair_row_list getList() const;
+      [[nodiscard]] size_t getRowAmount() const;
+      [[nodiscard]] ls::std::io::section_pair_identifier getSectionId() const;
       [[nodiscard]] bool hasRow(const ls::std::io::section_pair_identifier &_key);
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
-      void reserveNewLine(const ::std::string &_reservedNewLine);
+      void reserveNewLine(::std::string_view _reservedNewLine);
       void setSectionId(const ls::std::io::section_pair_identifier &_sectionId);
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
@@ -49,7 +50,7 @@ namespace ls::std::io
       ::std::shared_ptr<ls::std::core::interface_type::ISerializable> serializable{};
 
       void _createSerializable();
-      [[nodiscard]] ls::std::io::section_pair_row_list_element _get(const ls::std::io::section_pair_identifier &_key);
+      [[nodiscard]] ls::std::io::section_pair_row_list_element _get(const ls::std::io::section_pair_identifier &_key) const;
       [[nodiscard]] bool _hasRow(const ls::std::io::section_pair_identifier &_key);
       void _rowExistenceCheck(const ls::std::io::section_pair_identifier &_key);
       void _setSectionId(const ls::std::io::section_pair_identifier &_sectionId);

+ 3 - 3
include/ls-std/io/section-pair/reader/SectionPairFileReader.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -25,14 +25,14 @@ namespace ls::std::io
       explicit SectionPairFileReader(const ls::std::io::SectionPairFileReaderParameter &_parameter);
       ~SectionPairFileReader() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairDocument> getDocument();
+      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairDocument> getDocument() const;
       ls::std::core::type::byte_field read() override; // nodiscard is optional here
 
     private:
 
       ls::std::io::SectionPairFileReaderParameter parameter{};
 
-      void _checkFileExtension();
+      void _checkFileExtension() const;
       void _createDocument();
       void _createFileExistenceEvaluator();
       void _createReader();

+ 7 - 6
include/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2023-02-21
+* Changed:         2023-05-18
 *
 * */
 
@@ -16,6 +16,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <memory>
 #include <string>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -26,13 +27,13 @@ namespace ls::std::io
       SectionPairFileReaderParameter();
       ~SectionPairFileReaderParameter();
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairDocument> getDocument();
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::interface_type::IEvaluator> getFileExistenceEvaluator();
-      [[nodiscard]] ::std::string getFilePath();
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::interface_type::IReader> getReader();
+      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairDocument> getDocument() const;
+      [[nodiscard]] ::std::shared_ptr<ls::std::core::interface_type::IEvaluator> getFileExistenceEvaluator() const;
+      [[nodiscard]] ::std::string getFilePath() const;
+      [[nodiscard]] ::std::shared_ptr<ls::std::core::interface_type::IReader> getReader() const;
       void setDocument(const ::std::shared_ptr<ls::std::io::SectionPairDocument> &_document);
       void setFileExistenceEvaluator(const ::std::shared_ptr<ls::std::core::interface_type::IEvaluator> &_fileExistenceEvaluator);
-      void setFilePath(const ::std::string &_filePath);
+      void setFilePath(::std::string_view _filePath);
       void setReader(const ::std::shared_ptr<ls::std::core::interface_type::IReader> &_reader);
 
     private:

+ 6 - 5
include/ls-std/io/section-pair/serialization/SerializableSectionPairDocument.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-16
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -15,6 +15,7 @@
 #include <ls-std/core/interface/ISerializable.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
 #include <memory>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -25,7 +26,7 @@ namespace ls::std::io
       explicit SerializableSectionPairDocument(const ls::std::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairDocument() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue();
+      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue() const;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
@@ -33,10 +34,10 @@ namespace ls::std::io
 
       ls::std::io::SerializableSectionPairParameter parameter{};
 
-      [[nodiscard]] ls::std::core::type::byte_field _getCurrentRow(size_t _iterations, const ls::std::core::type::byte_field &_serializedDocument);
+      [[nodiscard]] ls::std::core::type::byte_field _getCurrentRow(size_t _iterations, ::std::string_view _serializedDocument) const;
       [[nodiscard]] ls::std::core::type::byte_field _getNextSerializedSection(const ls::std::core::type::byte_field &_serializedDocument);
-      [[nodiscard]] bool _isNotNewSection(const ls::std::core::type::byte_field &_currentRow);
-      void _addSection(const ls::std::core::type::byte_field &_serializedSection);
+      [[nodiscard]] bool _isNotNewSection(::std::string_view _currentRow) const;
+      void _addSection(const ls::std::core::type::byte_field &_serializedSection) const;
   };
 }
 

+ 4 - 3
include/ls-std/io/section-pair/serialization/SerializableSectionPairParameter.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-17
-* Changed:         2023-02-17
+* Changed:         2023-05-18
 *
 * */
 
@@ -14,6 +14,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <memory>
 #include <string>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -24,9 +25,9 @@ namespace ls::std::io
       SerializableSectionPairParameter();
       ~SerializableSectionPairParameter();
 
-      [[nodiscard]] ::std::string getNewLine();
+      [[nodiscard]] ::std::string getNewLine() const;
       [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue() const;
-      void setNewLine(const ::std::string &_newLine);
+      void setNewLine(::std::string_view _newLine);
       void setValue(const ::std::shared_ptr<ls::std::core::Class> &_value);
 
     private:

+ 5 - 5
include/ls-std/io/section-pair/serialization/SerializableSectionPairRow.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -26,7 +26,7 @@ namespace ls::std::io
       explicit SerializableSectionPairRow(const ls::std::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairRow() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue();
+      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue() const;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
@@ -34,9 +34,9 @@ namespace ls::std::io
 
       ls::std::io::SerializableSectionPairParameter parameter{};
 
-      [[nodiscard]] ::std::string _marshalKey();
-      void _unmarshalListValue(const ls::std::core::type::byte_field &_data);
-      void _unmarshalSingleValue(const ls::std::core::type::byte_field &_data);
+      [[nodiscard]] ::std::string _marshalKey() const;
+      void _unmarshalListValue(const ls::std::core::type::byte_field &_data) const;
+      void _unmarshalSingleValue(const ls::std::core::type::byte_field &_data) const;
   };
 }
 

+ 5 - 4
include/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -15,6 +15,7 @@
 #include <ls-std/core/interface/ISerializable.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
 #include <memory>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -25,7 +26,7 @@ namespace ls::std::io
       explicit SerializableSectionPairRowListValue(const ls::std::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairRowListValue() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue();
+      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue() const;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
@@ -33,8 +34,8 @@ namespace ls::std::io
 
       ls::std::io::SerializableSectionPairParameter parameter{};
 
-      [[nodiscard]] static ::std::string _getLine(::std::string::size_type _position, const ls::std::core::type::byte_field &_searchText);
-      void _updateSearchText(::std::string::size_type _position, ls::std::core::type::byte_field &_searchText);
+      [[nodiscard]] static ::std::string _getLine(::std::string::size_type _position, ::std::string_view _searchText);
+      void _updateSearchText(::std::string::size_type _position, ls::std::core::type::byte_field &_searchText) const;
   };
 }
 

+ 2 - 2
include/ls-std/io/section-pair/serialization/SerializableSectionPairRowSingleValue.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -25,7 +25,7 @@ namespace ls::std::io
       explicit SerializableSectionPairRowSingleValue(const ls::std::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairRowSingleValue() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue();
+      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue() const;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 

+ 12 - 11
include/ls-std/io/section-pair/serialization/SerializableSectionPairSection.hpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-14
-* Changed:         2023-02-22
+* Changed:         2023-05-18
 *
 * */
 
@@ -15,6 +15,7 @@
 #include <ls-std/core/interface/ISerializable.hpp>
 #include <ls-std/io/section-pair/SectionPairRowEnumType.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
+#include <string_view>
 
 namespace ls::std::io
 {
@@ -25,7 +26,7 @@ namespace ls::std::io
       explicit SerializableSectionPairSection(const ls::std::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairSection() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue();
+      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue() const;
       [[nodiscard]] ls::std::core::type::byte_field marshal() override;
       void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
@@ -34,17 +35,17 @@ namespace ls::std::io
       ls::std::io::SerializableSectionPairParameter parameter{};
 
       [[nodiscard]] ls::std::core::type::byte_field _collectSectionRow(const ls::std::core::type::byte_field &_currentRows, ls::std::io::SectionPairRowEnumType &_type);
-      [[nodiscard]] ls::std::core::type::byte_field _collectSectionListValueRow(const core::type::byte_field &_currentRows, ls::std::io::SectionPairRowEnumType &_type);
+      [[nodiscard]] ls::std::core::type::byte_field _collectSectionListValueRow(const core::type::byte_field &_currentRows, ls::std::io::SectionPairRowEnumType &_type) const;
       [[nodiscard]] static core::type::byte_field _collectSectionSingleValueRow(const ls::std::core::type::byte_field &_firstRow, ls::std::io::SectionPairRowEnumType &type);
-      [[nodiscard]] static size_t _getNthSubStringPosition(const ls::std::core::type::byte_field &_text, const ls::std::core::type::byte_field &_subText);
-      [[nodiscard]] ls::std::core::type::byte_field _getSectionHeader(const ls::std::core::type::byte_field &_data);
-      [[nodiscard]] static ls::std::core::type::byte_field _getSectionId(const ls::std::core::type::byte_field &_sectionHeader);
-      [[nodiscard]] static bool _isListValueRow(const ::std::string &_currentRow);
+      [[nodiscard]] static size_t _getNthSubStringPosition(::std::string_view _text, ::std::string_view _subText);
+      [[nodiscard]] ls::std::core::type::byte_field _getSectionHeader(const ls::std::core::type::byte_field &_data) const;
+      [[nodiscard]] static ls::std::core::type::byte_field _getSectionId(::std::string_view _sectionHeader);
+      [[nodiscard]] static bool _isListValueRow(::std::string_view _currentRow);
       [[nodiscard]] static bool _isStartingValueRow(const ::std::string &_currentRow);
-      [[nodiscard]] static bool _isSingleValueRow(const ::std::string &_currentRow);
-      [[nodiscard]] ls::std::core::type::byte_field _marshalRows();
-      [[nodiscard]] ls::std::core::type::byte_field _marshalSectionId();
-      void _unmarshalRow(const ::std::string &_sectionRow, ls::std::io::SectionPairRowEnumType _type);
+      [[nodiscard]] static bool _isSingleValueRow(::std::string_view _currentRow);
+      [[nodiscard]] ls::std::core::type::byte_field _marshalRows() const;
+      [[nodiscard]] ls::std::core::type::byte_field _marshalSectionId() const;
+      void _unmarshalRow(const ::std::string &_sectionRow, ls::std::io::SectionPairRowEnumType _type) const;
       void _unmarshalRows(const ls::std::core::type::byte_field &_serializedRows);
       [[nodiscard]] size_t _unmarshalSectionHeader(const ls::std::core::type::byte_field &_data);
   };

+ 10 - 9
source/ls-std/io/section-pair/model/SectionPairRow.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -34,6 +34,7 @@ using ls::std::io::SerializableSectionPairRow;
 using std::make_shared;
 using std::shared_ptr;
 using std::string;
+using std::string_view;
 
 SectionPairRow::SectionPairRow(const section_pair_identifier &_key, const SectionPairRowEnumType &_type) : Class("SectionPairRow")
 {
@@ -43,22 +44,22 @@ SectionPairRow::SectionPairRow(const section_pair_identifier &_key, const Sectio
 
 SectionPairRow::~SectionPairRow() noexcept = default;
 
-section_pair_row_value SectionPairRow::getKey()
+section_pair_row_value SectionPairRow::getKey() const
 {
   return this->key;
 }
 
-shared_ptr<SectionPairRowValue> SectionPairRow::getValue()
+shared_ptr<SectionPairRowValue> SectionPairRow::getValue() const
 {
   return this->value;
 }
 
-bool SectionPairRow::isList()
+bool SectionPairRow::isList() const
 {
   return this->value->getType() == SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE;
 }
 
-bool SectionPairRow::isSingleValue()
+bool SectionPairRow::isSingleValue() const
 {
   return this->value->getType() == SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE;
 }
@@ -69,7 +70,7 @@ byte_field SectionPairRow::marshal()
   return this->serializable->marshal();
 }
 
-void SectionPairRow::reserveNewLine(const string &_reservedNewLine)
+void SectionPairRow::reserveNewLine(string_view _reservedNewLine)
 {
   this->reservedNewLine = _reservedNewLine;
 }
@@ -102,16 +103,16 @@ void SectionPairRow::_initValue(const SectionPairRowEnumType &_type)
 {
   switch (_type)
   {
-    case SECTION_PAIR_ROW_NOT_IMPLEMENTED:
+    case SectionPairRowEnumType::SECTION_PAIR_ROW_NOT_IMPLEMENTED:
     {
       throw IllegalArgumentException{this->getClassName() + ": default row enum type can not be set!"};
     }
-    case SECTION_PAIR_ROW_LIST_VALUE:
+    case SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE:
     {
       this->value = make_shared<SectionPairRowListValue>();
     }
     break;
-    case SECTION_PAIR_ROW_SINGLE_VALUE:
+    case SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE:
     {
       this->value = make_shared<SectionPairRowSingleValue>("empty");
     }

+ 4 - 4
source/ls-std/io/section-pair/model/SectionPairRowListValue.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -46,7 +46,7 @@ void SectionPairRowListValue::clear()
   this->values.clear();
 }
 
-section_pair_row_value SectionPairRowListValue::get(size_t _index)
+section_pair_row_value SectionPairRowListValue::get(size_t _index) const
 {
   IndexOutOfBoundsEvaluator(_index, this->values.size()).evaluate();
   section_pair_row_value value{};
@@ -66,12 +66,12 @@ section_pair_row_value SectionPairRowListValue::get(size_t _index)
   return value;
 }
 
-list<section_pair_row_value> SectionPairRowListValue::getList()
+list<section_pair_row_value> SectionPairRowListValue::getList() const
 {
   return this->values;
 }
 
-size_t SectionPairRowListValue::getSize()
+size_t SectionPairRowListValue::getSize() const
 {
   return this->values.size();
 }

+ 2 - 2
source/ls-std/io/section-pair/model/SectionPairRowSingleValue.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -35,7 +35,7 @@ SectionPairRowSingleValue::SectionPairRowSingleValue(const section_pair_row_valu
 
 SectionPairRowSingleValue::~SectionPairRowSingleValue() noexcept = default;
 
-section_pair_row_value SectionPairRowSingleValue::get()
+section_pair_row_value SectionPairRowSingleValue::get() const
 {
   return this->value;
 }

+ 6 - 3
source/ls-std/io/section-pair/model/SectionPairRowValue.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -13,6 +13,7 @@ using ls::std::core::type::byte_field;
 using ls::std::io::SectionPairRowEnumType;
 using ls::std::io::SectionPairRowValue;
 using std::string;
+using std::string_view;
 
 SectionPairRowValue::SectionPairRowValue(const SectionPairRowEnumType &_type) : type(_type)
 {}
@@ -24,10 +25,12 @@ byte_field SectionPairRowValue::marshal()
   return byte_field{};
 }
 
-void SectionPairRowValue::reserveNewLine(const string &_reservedNewLine)
+void SectionPairRowValue::reserveNewLine(string_view _reservedNewLine)
 {
   this->reservedNewLine = _reservedNewLine;
 }
 
 void SectionPairRowValue::unmarshal(const byte_field &_data)
-{}
+{
+  // since this class is abstract, these methods are not implemented
+}

+ 11 - 10
source/ls-std/io/section-pair/model/SectionPairSection.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-13
-* Changed:         2023-02-24
+* Changed:         2023-05-18
 *
 * */
 
@@ -38,6 +38,7 @@ using std::make_shared;
 using std::reinterpret_pointer_cast;
 using std::shared_ptr;
 using std::string;
+using std::string_view;
 
 SectionPairSection::SectionPairSection(const section_pair_identifier &_sectionId) : Class("SectionPairSection")
 {
@@ -58,7 +59,7 @@ void SectionPairSection::clear()
   this->rows.clear();
 }
 
-section_pair_row_list_element SectionPairSection::get(size_t _index)
+section_pair_row_list_element SectionPairSection::get(size_t _index) const
 {
   IndexOutOfBoundsEvaluator{_index, this->rows.size()}.evaluate();
   section_pair_row_list_element element{};
@@ -78,22 +79,22 @@ section_pair_row_list_element SectionPairSection::get(size_t _index)
   return element;
 }
 
-section_pair_row_list_element SectionPairSection::get(const section_pair_identifier &_key)
+section_pair_row_list_element SectionPairSection::get(const section_pair_identifier &_key) const
 {
   return this->_get(_key);
 }
 
-section_pair_row_list SectionPairSection::getList()
+section_pair_row_list SectionPairSection::getList() const
 {
   return this->rows;
 }
 
-size_t SectionPairSection::getRowAmount()
+size_t SectionPairSection::getRowAmount() const
 {
   return this->rows.size();
 }
 
-section_pair_identifier SectionPairSection::getSectionId()
+section_pair_identifier SectionPairSection::getSectionId() const
 {
   return this->sectionId;
 }
@@ -109,7 +110,7 @@ byte_field SectionPairSection::marshal()
   return this->serializable->marshal();
 }
 
-void SectionPairSection::reserveNewLine(const string &_reservedNewLine)
+void SectionPairSection::reserveNewLine(string_view _reservedNewLine)
 {
   this->reservedNewLine = _reservedNewLine;
 }
@@ -138,15 +139,15 @@ void SectionPairSection::_createSerializable()
   this->serializable = make_shared<SerializableSectionPairSection>(parameter);
 }
 
-section_pair_row_list_element SectionPairSection::_get(const section_pair_identifier &_key)
+section_pair_row_list_element SectionPairSection::_get(const section_pair_identifier &_key) const
 {
-  const auto &iterator = find_if(this->rows.begin(), this->rows.end(), [_key](const shared_ptr<SectionPairRow> &_row) { return _row->getKey() == _key; });
+  const auto &iterator = find_if(this->rows.begin(), this->rows.end(), [&_key](const shared_ptr<SectionPairRow> &_row) { return _row->getKey() == _key; });
   return iterator != this->rows.end() ? *iterator : nullptr;
 }
 
 bool SectionPairSection::_hasRow(const section_pair_identifier &_key)
 {
-  return any_of(this->rows.begin(), this->rows.end(), [_key](const shared_ptr<SectionPairRow> &_row) { return _row->getKey() == _key; });
+  return any_of(this->rows.begin(), this->rows.end(), [&_key](const shared_ptr<SectionPairRow> &_row) { return _row->getKey() == _key; });
 }
 
 void SectionPairSection::_rowExistenceCheck(const section_pair_identifier &_key)

+ 3 - 3
source/ls-std/io/section-pair/reader/SectionPairFileReader.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2023-05-16
+* Changed:         2023-05-18
 *
 * */
 
@@ -42,7 +42,7 @@ SectionPairFileReader::SectionPairFileReader(const SectionPairFileReaderParamete
 
 SectionPairFileReader::~SectionPairFileReader() noexcept = default;
 
-shared_ptr<SectionPairDocument> SectionPairFileReader::getDocument()
+shared_ptr<SectionPairDocument> SectionPairFileReader::getDocument() const
 {
   return this->parameter.getDocument();
 }
@@ -56,7 +56,7 @@ byte_field SectionPairFileReader::read()
   return data;
 }
 
-void SectionPairFileReader::_checkFileExtension()
+void SectionPairFileReader::_checkFileExtension() const
 {
   if (!SectionPairFileExtensionValidator{this->parameter.getFilePath()}.isValid())
   {

+ 7 - 6
source/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -15,27 +15,28 @@ using ls::std::io::SectionPairDocument;
 using ls::std::io::SectionPairFileReaderParameter;
 using std::shared_ptr;
 using std::string;
+using std::string_view;
 
 SectionPairFileReaderParameter::SectionPairFileReaderParameter() = default;
 
 SectionPairFileReaderParameter::~SectionPairFileReaderParameter() = default;
 
-shared_ptr<SectionPairDocument> SectionPairFileReaderParameter::getDocument()
+shared_ptr<SectionPairDocument> SectionPairFileReaderParameter::getDocument() const
 {
   return this->document;
 }
 
-shared_ptr<IEvaluator> SectionPairFileReaderParameter::getFileExistenceEvaluator()
+shared_ptr<IEvaluator> SectionPairFileReaderParameter::getFileExistenceEvaluator() const
 {
   return this->fileExistenceEvaluator;
 }
 
-string SectionPairFileReaderParameter::getFilePath()
+string SectionPairFileReaderParameter::getFilePath() const
 {
   return this->filePath;
 }
 
-shared_ptr<IReader> SectionPairFileReaderParameter::getReader()
+shared_ptr<IReader> SectionPairFileReaderParameter::getReader() const
 {
   return this->reader;
 }
@@ -50,7 +51,7 @@ void SectionPairFileReaderParameter::setFileExistenceEvaluator(const shared_ptr<
   this->fileExistenceEvaluator = _fileExistenceEvaluator;
 }
 
-void SectionPairFileReaderParameter::setFilePath(const string &_filePath)
+void SectionPairFileReaderParameter::setFilePath(string_view _filePath)
 {
   this->filePath = _filePath;
 }

+ 10 - 9
source/ls-std/io/section-pair/serialization/SerializableSectionPairDocument.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-16
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -23,17 +23,17 @@ using std::dynamic_pointer_cast;
 using std::make_shared;
 using std::shared_ptr;
 using std::string;
+using std::string_view;
 
-SerializableSectionPairDocument::SerializableSectionPairDocument(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairDocument")
+SerializableSectionPairDocument::SerializableSectionPairDocument(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairDocument"), parameter(_parameter)
 {
   string message = this->getClassName() + ": model reference is null!";
   NullPointerArgumentEvaluator{_parameter.getValue(), message}.evaluate();
-  this->parameter = _parameter;
 }
 
 SerializableSectionPairDocument::~SerializableSectionPairDocument() noexcept = default;
 
-shared_ptr<Class> SerializableSectionPairDocument::getValue()
+shared_ptr<Class> SerializableSectionPairDocument::getValue() const
 {
   return this->parameter.getValue();
 }
@@ -68,15 +68,15 @@ void SerializableSectionPairDocument::unmarshal(const byte_field &_data)
   } while (!serializedDocument.empty());
 }
 
-void SerializableSectionPairDocument::_addSection(const byte_field &_serializedSection)
+void SerializableSectionPairDocument::_addSection(const byte_field &_serializedSection) const
 {
-  shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("tmp-id");
+  auto section = make_shared<SectionPairSection>("tmp-id");
   section->reserveNewLine(this->parameter.getNewLine());
   section->unmarshal(_serializedSection);
   dynamic_pointer_cast<SectionPairDocument>(this->parameter.getValue())->add(section);
 }
 
-byte_field SerializableSectionPairDocument::_getCurrentRow(size_t _iterations, const byte_field &_serializedDocument)
+byte_field SerializableSectionPairDocument::_getCurrentRow(size_t _iterations, string_view _serializedDocument) const
 {
   string newLine = this->parameter.getNewLine();
   string currentRow{};
@@ -95,7 +95,8 @@ byte_field SerializableSectionPairDocument::_getCurrentRow(size_t _iterations, c
 
 byte_field SerializableSectionPairDocument::_getNextSerializedSection(const byte_field &_serializedDocument)
 {
-  byte_field serializedSection{}, currentRow{};
+  byte_field serializedSection{};
+  byte_field currentRow{};
   size_t iterations{};
   byte_field serializedDocument = _serializedDocument;
   bool isNotNewSection{};
@@ -113,7 +114,7 @@ byte_field SerializableSectionPairDocument::_getNextSerializedSection(const byte
   return serializedDocument.empty() ? serializedSection : serializedSection.substr(0, serializedSection.size() - newLine.size());
 }
 
-bool SerializableSectionPairDocument::_isNotNewSection(const byte_field &_currentRow)
+bool SerializableSectionPairDocument::_isNotNewSection(string_view _currentRow) const
 {
   string newLine = this->parameter.getNewLine();
   return _currentRow.find(newLine + newLine) == string::npos;

+ 4 - 3
source/ls-std/io/section-pair/serialization/SerializableSectionPairParameter.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-17
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -15,13 +15,14 @@ using ls::std::io::NewLine;
 using ls::std::io::SerializableSectionPairParameter;
 using std::shared_ptr;
 using std::string;
+using std::string_view;
 
 SerializableSectionPairParameter::SerializableSectionPairParameter() : parseNewLine(NewLine::get())
 {}
 
 SerializableSectionPairParameter::~SerializableSectionPairParameter() = default;
 
-string SerializableSectionPairParameter::getNewLine()
+string SerializableSectionPairParameter::getNewLine() const
 {
   return this->parseNewLine;
 }
@@ -31,7 +32,7 @@ shared_ptr<Class> SerializableSectionPairParameter::getValue() const
   return this->value;
 }
 
-void SerializableSectionPairParameter::setNewLine(const string &_newLine)
+void SerializableSectionPairParameter::setNewLine(string_view _newLine)
 {
   this->parseNewLine = _newLine;
 }

+ 6 - 7
source/ls-std/io/section-pair/serialization/SerializableSectionPairRow.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -29,16 +29,15 @@ using std::dynamic_pointer_cast;
 using std::shared_ptr;
 using std::string;
 
-SerializableSectionPairRow::SerializableSectionPairRow(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairRow")
+SerializableSectionPairRow::SerializableSectionPairRow(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairRow"), parameter(_parameter)
 {
   string message = this->getClassName() + ": model reference is null!";
   NullPointerArgumentEvaluator{_parameter.getValue(), message}.evaluate();
-  this->parameter = _parameter;
 }
 
 SerializableSectionPairRow::~SerializableSectionPairRow() noexcept = default;
 
-shared_ptr<Class> SerializableSectionPairRow::getValue()
+shared_ptr<Class> SerializableSectionPairRow::getValue() const
 {
   return this->parameter.getValue();
 }
@@ -67,7 +66,7 @@ void SerializableSectionPairRow::unmarshal(const byte_field &_data)
   }
 }
 
-string SerializableSectionPairRow::_marshalKey()
+string SerializableSectionPairRow::_marshalKey() const
 {
   string serializedKey{};
   shared_ptr<SectionPairRow> row = dynamic_pointer_cast<SectionPairRow>(this->parameter.getValue());
@@ -85,7 +84,7 @@ string SerializableSectionPairRow::_marshalKey()
   return serializedKey;
 }
 
-void SerializableSectionPairRow::_unmarshalListValue(const byte_field &_data)
+void SerializableSectionPairRow::_unmarshalListValue(const byte_field &_data) const
 {
   SectionPairRowListValueArgumentEvaluator{_data}.evaluate();
   string::size_type separatorPosition = _data.find(':');
@@ -100,7 +99,7 @@ void SerializableSectionPairRow::_unmarshalListValue(const byte_field &_data)
   }
 }
 
-void SerializableSectionPairRow::_unmarshalSingleValue(const byte_field &_data)
+void SerializableSectionPairRow::_unmarshalSingleValue(const byte_field &_data) const
 {
   SectionPairRowSingleValueArgumentEvaluator{_data}.evaluate();
   string::size_type position = _data.find('=');

+ 6 - 6
source/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-02-24
+* Changed:         2023-05-18
 *
 * */
 
@@ -28,17 +28,17 @@ using std::list;
 using std::move;
 using std::shared_ptr;
 using std::string;
+using std::string_view;
 
-SerializableSectionPairRowListValue::SerializableSectionPairRowListValue(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairRowListValue")
+SerializableSectionPairRowListValue::SerializableSectionPairRowListValue(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairRowListValue"), parameter(_parameter)
 {
   string message = this->getClassName() + ": model reference is null!";
   NullPointerArgumentEvaluator{_parameter.getValue(), message}.evaluate();
-  this->parameter = _parameter;
 }
 
 SerializableSectionPairRowListValue::~SerializableSectionPairRowListValue() noexcept = default;
 
-shared_ptr<Class> SerializableSectionPairRowListValue::getValue()
+shared_ptr<Class> SerializableSectionPairRowListValue::getValue() const
 {
   return this->parameter.getValue();
 }
@@ -65,7 +65,7 @@ void SerializableSectionPairRowListValue::unmarshal(const byte_field &_data)
   }
 }
 
-string SerializableSectionPairRowListValue::_getLine(string::size_type _position, const byte_field &_searchText)
+string SerializableSectionPairRowListValue::_getLine(string::size_type _position, string_view _searchText)
 {
   string line{};
 
@@ -81,7 +81,7 @@ string SerializableSectionPairRowListValue::_getLine(string::size_type _position
   return line;
 }
 
-void SerializableSectionPairRowListValue::_updateSearchText(string::size_type _position, byte_field &_searchText)
+void SerializableSectionPairRowListValue::_updateSearchText(string::size_type _position, byte_field &_searchText) const
 {
   if (_position != string::npos)
   {

+ 3 - 4
source/ls-std/io/section-pair/serialization/SerializableSectionPairRowSingleValue.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -23,16 +23,15 @@ using std::dynamic_pointer_cast;
 using std::shared_ptr;
 using std::string;
 
-SerializableSectionPairRowSingleValue::SerializableSectionPairRowSingleValue(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairRowSingleValue")
+SerializableSectionPairRowSingleValue::SerializableSectionPairRowSingleValue(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairRowSingleValue"), parameter(_parameter)
 {
   string message = this->getClassName() + ": model reference is null!";
   NullPointerArgumentEvaluator{_parameter.getValue(), message}.evaluate();
-  this->parameter = _parameter;
 }
 
 SerializableSectionPairRowSingleValue::~SerializableSectionPairRowSingleValue() noexcept = default;
 
-shared_ptr<Class> SerializableSectionPairRowSingleValue::getValue()
+shared_ptr<Class> SerializableSectionPairRowSingleValue::getValue() const
 {
   return this->parameter.getValue();
 }

+ 17 - 16
source/ls-std/io/section-pair/serialization/SerializableSectionPairSection.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-14
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -27,17 +27,17 @@ using std::dynamic_pointer_cast;
 using std::make_shared;
 using std::shared_ptr;
 using std::string;
+using std::string_view;
 
-SerializableSectionPairSection::SerializableSectionPairSection(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairSection")
+SerializableSectionPairSection::SerializableSectionPairSection(const SerializableSectionPairParameter &_parameter) : Class("SerializableSectionPairSection"), parameter(_parameter)
 {
   string message = this->getClassName() + ": model reference is null!";
   NullPointerArgumentEvaluator(_parameter.getValue(), message).evaluate();
-  this->parameter = _parameter;
 }
 
 SerializableSectionPairSection::~SerializableSectionPairSection() noexcept = default;
 
-shared_ptr<Class> SerializableSectionPairSection::getValue()
+shared_ptr<Class> SerializableSectionPairSection::getValue() const
 {
   return this->parameter.getValue();
 }
@@ -78,10 +78,11 @@ byte_field SerializableSectionPairSection::_collectSectionRow(const byte_field &
   return row;
 }
 
-byte_field SerializableSectionPairSection::_collectSectionListValueRow(const byte_field &_currentRows, SectionPairRowEnumType &_type)
+byte_field SerializableSectionPairSection::_collectSectionListValueRow(const byte_field &_currentRows, SectionPairRowEnumType &_type) const
 {
   byte_field currentRows = _currentRows;
-  byte_field currentRow{}, row{};
+  byte_field currentRow{};
+  byte_field row{};
   string newLine = this->parameter.getNewLine();
   _type = SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE;
   size_t iterations{};
@@ -114,7 +115,7 @@ byte_field SerializableSectionPairSection::_collectSectionSingleValueRow(const b
   return _firstRow;
 }
 
-size_t SerializableSectionPairSection::_getNthSubStringPosition(const byte_field &_text, const byte_field &_subText)
+size_t SerializableSectionPairSection::_getNthSubStringPosition(string_view _text, string_view _subText)
 {
   size_t position = -1;
   size_t amount{};
@@ -136,7 +137,7 @@ size_t SerializableSectionPairSection::_getNthSubStringPosition(const byte_field
   return position;
 }
 
-byte_field SerializableSectionPairSection::_getSectionHeader(const byte_field &_data)
+byte_field SerializableSectionPairSection::_getSectionHeader(const byte_field &_data) const
 {
   byte_field sectionHeader{};
   string newLine = this->parameter.getNewLine();
@@ -150,13 +151,13 @@ byte_field SerializableSectionPairSection::_getSectionHeader(const byte_field &_
   return sectionHeader;
 }
 
-byte_field SerializableSectionPairSection::_getSectionId(const byte_field &_sectionHeader)
+byte_field SerializableSectionPairSection::_getSectionId(string_view _sectionHeader)
 {
-  byte_field sectionId = _sectionHeader.substr(_sectionHeader.find('[') + 1);
+  auto sectionId = byte_field{_sectionHeader.substr(_sectionHeader.find('[') + 1)};
   return sectionId.substr(0, sectionId.find(']'));
 }
 
-bool SerializableSectionPairSection::_isListValueRow(const string &_currentRow)
+bool SerializableSectionPairSection::_isListValueRow(string_view _currentRow)
 {
   return _currentRow.find(':') != string::npos;
 }
@@ -169,12 +170,12 @@ bool SerializableSectionPairSection::_isStartingValueRow(const string &_currentR
   return isSingleValue || isListValue;
 }
 
-bool SerializableSectionPairSection::_isSingleValueRow(const string &_currentRow)
+bool SerializableSectionPairSection::_isSingleValueRow(string_view _currentRow)
 {
   return _currentRow.find('=') != string::npos;
 }
 
-byte_field SerializableSectionPairSection::_marshalRows()
+byte_field SerializableSectionPairSection::_marshalRows() const
 {
   byte_field serializedSectionRows{};
 
@@ -187,15 +188,15 @@ byte_field SerializableSectionPairSection::_marshalRows()
   return serializedSectionRows;
 }
 
-byte_field SerializableSectionPairSection::_marshalSectionId()
+byte_field SerializableSectionPairSection::_marshalSectionId() const
 {
   string newLine = this->parameter.getNewLine();
   return newLine + "[" + dynamic_pointer_cast<SectionPairSection>(this->parameter.getValue())->getSectionId() + "]" + newLine + newLine;
 }
 
-void SerializableSectionPairSection::_unmarshalRow(const string &_sectionRow, SectionPairRowEnumType _type)
+void SerializableSectionPairSection::_unmarshalRow(const string &_sectionRow, SectionPairRowEnumType _type) const
 {
-  section_pair_row_list_element row = make_shared<SectionPairRow>("tmp-dir", _type);
+  auto row = make_shared<SectionPairRow>("tmp-dir", _type);
   row->reserveNewLine(this->parameter.getNewLine());
   row->unmarshal(_sectionRow);
   dynamic_pointer_cast<SectionPairSection>(this->parameter.getValue())->add(row);

+ 2 - 2
source/ls-std/io/section-pair/validator/SectionPairRowListValueValidator.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-19
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -34,7 +34,7 @@ string SectionPairRowListValueValidator::getValidationRegex()
 bool SectionPairRowListValueValidator::isValid()
 {
   string validationRegex = SectionPairRowListValueValidator::_getValidationRegex();
-  static regex listValueRowRegex = regex{"^" + validationRegex};
+  static auto listValueRowRegex = regex{"^" + validationRegex};
 
   return regex_match(this->listValueRow, listValueRowRegex);
 }

+ 2 - 2
source/ls-std/io/section-pair/validator/SectionPairRowSingleValueValidator.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-19
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -34,7 +34,7 @@ string SectionPairRowSingleValueValidator::getValidationRegex()
 bool SectionPairRowSingleValueValidator::isValid()
 {
   string validationRegex = SectionPairRowSingleValueValidator::_getValidationRegex();
-  static regex singleValueRowRegex = regex{"^" + validationRegex};
+  static auto singleValueRowRegex = regex{"^" + validationRegex};
 
   return regex_match(this->singleValueRow, singleValueRowRegex);
 }

+ 2 - 2
source/ls-std/io/section-pair/validator/SectionPairRowValidator.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -33,7 +33,7 @@ string SectionPairRowValidator::getValidationRegex()
 bool SectionPairRowValidator::isValid()
 {
   string validationRegex = SectionPairRowValidator::_getValidationRegex();
-  static regex sectionPairRowRegex = regex{R"(^()" + validationRegex + R"())"};
+  static auto sectionPairRowRegex = regex{R"(^()" + validationRegex + R"())"};
 
   return regex_match(this->row, sectionPairRowRegex);
 }

+ 2 - 2
source/ls-std/io/section-pair/validator/SectionPairSectionValidator.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -35,7 +35,7 @@ string SectionPairSectionValidator::getValidationRegex()
 bool SectionPairSectionValidator::isValid()
 {
   string validationRegex = SectionPairSectionValidator::_getValidationRegex();
-  static regex sectionRegex = regex{"^" + validationRegex};
+  static auto sectionRegex = regex{"^" + validationRegex};
 
   return regex_match(this->section, sectionRegex);
 }

+ 2 - 2
test/cases/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluatorTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-09
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -41,7 +41,7 @@ namespace
 
   TEST_F(SectionPairIdentifierArgumentEvaluatorTest, getClassName)
   {
-    shared_ptr<SectionPairIdentifierArgumentEvaluator> evaluator = make_shared<SectionPairIdentifierArgumentEvaluator>("_id");
+    auto evaluator = make_shared<SectionPairIdentifierArgumentEvaluator>("_id");
     ASSERT_STREQ("SectionPairIdentifierArgumentEvaluator", evaluator->getClassName().c_str());
   }
 

+ 2 - 2
test/cases/io/section-pair/evaluator/SectionPairRowArgumentEvaluatorTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -42,7 +42,7 @@ namespace
 
   TEST_F(SectionPairRowArgumentEvaluatorTest, getClassName)
   {
-    shared_ptr<SectionPairRowArgumentEvaluator> evaluator = make_shared<SectionPairRowArgumentEvaluator>("empty");
+    auto evaluator = make_shared<SectionPairRowArgumentEvaluator>("empty");
     ASSERT_STREQ("SectionPairRowArgumentEvaluator", evaluator->getClassName().c_str());
   }
 

+ 2 - 2
test/cases/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluatorTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -42,7 +42,7 @@ namespace
 
   TEST_F(SectionPairRowListValueArgumentEvaluatorTest, getClassName)
   {
-    shared_ptr<SectionPairRowListValueArgumentEvaluator> evaluator = make_shared<SectionPairRowListValueArgumentEvaluator>("color=blue");
+    auto evaluator = make_shared<SectionPairRowListValueArgumentEvaluator>("color=blue");
     ASSERT_STREQ("SectionPairRowListValueArgumentEvaluator", evaluator->getClassName().c_str());
   }
 

+ 2 - 2
test/cases/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluatorTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-19
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -42,7 +42,7 @@ namespace
 
   TEST_F(SectionPairRowSingleValueArgumentEvaluatorTest, getClassName)
   {
-    shared_ptr<SectionPairRowSingleValueArgumentEvaluator> evaluator = make_shared<SectionPairRowSingleValueArgumentEvaluator>("color=blue");
+    auto evaluator = make_shared<SectionPairRowSingleValueArgumentEvaluator>("color=blue");
     ASSERT_STREQ("SectionPairRowSingleValueArgumentEvaluator", evaluator->getClassName().c_str());
   }
 

+ 2 - 2
test/cases/io/section-pair/evaluator/SectionPairSectionArgumentEvaluatorTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -42,7 +42,7 @@ namespace
 
   TEST_F(SectionPairSectionArgumentEvaluatorTest, getClassName)
   {
-    shared_ptr<SectionPairSectionArgumentEvaluator> evaluator = make_shared<SectionPairSectionArgumentEvaluator>("=33");
+    auto evaluator = make_shared<SectionPairSectionArgumentEvaluator>("=33");
     ASSERT_STREQ("SectionPairSectionArgumentEvaluator", evaluator->getClassName().c_str());
   }
 

+ 2 - 2
test/cases/io/section-pair/evaluator/SectionPairValueArgumentEvaluatorTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -41,7 +41,7 @@ namespace
 
   TEST_F(SectionPairValueArgumentEvaluatorTest, getClassName)
   {
-    shared_ptr<SectionPairValueArgumentEvaluator> evaluator = make_shared<SectionPairValueArgumentEvaluator>("=33");
+    auto evaluator = make_shared<SectionPairValueArgumentEvaluator>("=33");
     ASSERT_STREQ("SectionPairValueArgumentEvaluator", evaluator->getClassName().c_str());
   }
 

+ 3 - 3
test/cases/io/section-pair/model/SectionPairRowListValueTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -130,7 +130,7 @@ namespace
 
   TEST_F(SectionPairRowListValueTest, marshal)
   {
-    shared_ptr<SectionPairRowListValue> value = make_shared<SectionPairRowListValue>();
+    auto value = make_shared<SectionPairRowListValue>();
     value->add("Drumming");
     value->add("Reading");
     value->add("Coding");
@@ -143,7 +143,7 @@ namespace
 
   TEST_F(SectionPairRowListValueTest, unmarshal)
   {
-    shared_ptr<SectionPairRowListValue> value = make_shared<SectionPairRowListValue>();
+    auto value = make_shared<SectionPairRowListValue>();
     string newLine = NewLine::get();
     string serializedListValue = "  Drumming" + newLine + "  Reading" + newLine + "  Coding" + newLine;
     value->unmarshal(serializedListValue);

+ 3 - 3
test/cases/io/section-pair/model/SectionPairRowSingleValueTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -81,7 +81,7 @@ namespace
 
   TEST_F(SectionPairRowSingleValueTest, marshal)
   {
-    shared_ptr<SectionPairRowSingleValue> value = make_shared<SectionPairRowSingleValue>("empty");
+    auto value = make_shared<SectionPairRowSingleValue>("empty");
     byte_field expected = "empty" + NewLine::get();
     byte_field actual = value->marshal();
 
@@ -126,7 +126,7 @@ namespace
 
   TEST_F(SectionPairRowSingleValueTest, unmarshal)
   {
-    shared_ptr<SectionPairRowSingleValue> value = make_shared<SectionPairRowSingleValue>("empty");
+    auto value = make_shared<SectionPairRowSingleValue>("empty");
     value->unmarshal("blue");
 
     ASSERT_STREQ("blue", value->get().c_str());

+ 5 - 5
test/cases/io/section-pair/model/SectionPairRowTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -101,7 +101,7 @@ namespace
 
   TEST_F(SectionPairRowTest, marshal_single_value)
   {
-    shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("favourite-color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+    auto row = make_shared<SectionPairRow>("favourite-color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
     shared_ptr<SectionPairRowSingleValue> singleValue = dynamic_pointer_cast<SectionPairRowSingleValue>(row->getValue());
     singleValue->set("blue");
     byte_field expected = "favourite-color=blue" + NewLine::get();
@@ -112,7 +112,7 @@ namespace
 
   TEST_F(SectionPairRowTest, marshal_list_value)
   {
-    shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("favourite-colors", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
+    auto row = make_shared<SectionPairRow>("favourite-colors", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
     shared_ptr<SectionPairRowListValue> listValue = dynamic_pointer_cast<SectionPairRowListValue>(row->getValue());
     listValue->add("blue");
     listValue->add("red");
@@ -170,7 +170,7 @@ namespace
 
   TEST_F(SectionPairRowTest, unmarshal_single_value)
   {
-    shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+    auto row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
     shared_ptr<SectionPairRowSingleValue> singleValue = dynamic_pointer_cast<SectionPairRowSingleValue>(row->getValue());
 
     row->unmarshal("favourite-color=blue");
@@ -181,7 +181,7 @@ namespace
 
   TEST_F(SectionPairRowTest, unmarshal_list_value)
   {
-    shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
+    auto row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
     shared_ptr<SectionPairRowListValue> listValue = dynamic_pointer_cast<SectionPairRowListValue>(row->getValue());
     string newLine = NewLine::get();
 

+ 17 - 17
test/cases/io/section-pair/model/SectionPairSectionTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-13
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -72,7 +72,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, add)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     ASSERT_EQ(1, section->getRowAmount());
@@ -80,7 +80,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, add_row_already_exists)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     EXPECT_THROW(
@@ -99,7 +99,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, clear)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     ASSERT_EQ(1, section->getRowAmount());
@@ -109,7 +109,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, get_by_index)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     ASSERT_TRUE(section->get(0) != nullptr);
@@ -117,7 +117,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, get_by_index_out_of_bounds)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
 
     EXPECT_THROW(
         {
@@ -135,7 +135,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, get_by_key)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     ASSERT_TRUE(section->get("color") != nullptr);
@@ -143,7 +143,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, get_by_key_not_found)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     ASSERT_TRUE(section->get("hobbies") == nullptr);
@@ -151,7 +151,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, getAmount)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     ASSERT_EQ(0, section->getRowAmount());
   }
 
@@ -162,19 +162,19 @@ namespace
 
   TEST_F(SectionPairSectionTest, getList)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     ASSERT_TRUE(section->getList().empty());
   }
 
   TEST_F(SectionPairSectionTest, getSectionId)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     ASSERT_STREQ("general", section->getSectionId().c_str());
   }
 
   TEST_F(SectionPairSectionTest, hasRow)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     ASSERT_TRUE(section->hasRow("color"));
@@ -182,7 +182,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, hasRow_not_found)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
     section->add(make_shared<SectionPairRow>("color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE));
 
     ASSERT_FALSE(section->hasRow("hobbies"));
@@ -199,7 +199,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, setSectionId)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
 
     section->setSectionId("personal");
     ASSERT_STREQ("personal", section->getSectionId().c_str());
@@ -207,7 +207,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, setSectionId_empty_id)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
 
     EXPECT_THROW(
         {
@@ -225,7 +225,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, setSectionId_invalid_id)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+    auto section = make_shared<SectionPairSection>("general");
 
     EXPECT_THROW(
         {
@@ -243,7 +243,7 @@ namespace
 
   TEST_F(SectionPairSectionTest, unmarshal)
   {
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("tmp-id");
+    auto section = make_shared<SectionPairSection>("tmp-id");
     section->unmarshal(SectionPairSectionProvider::createSerializedSectionWithTomExample(NewLine::get()));
 
     ASSERT_STREQ("general", section->getSectionId().c_str());

+ 4 - 4
test/cases/io/section-pair/serialization/SerializableSectionPairRowListValueTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -71,7 +71,7 @@ namespace
   TEST_F(SerializableSectionPairRowListValueTest, getValue)
   {
     SerializableSectionPairParameter parameter{};
-    shared_ptr<SectionPairRowListValue> value = make_shared<SectionPairRowListValue>();
+    auto value = make_shared<SectionPairRowListValue>();
     parameter.setValue(value);
     SerializableSectionPairRowListValue serializable(parameter);
 
@@ -81,7 +81,7 @@ namespace
   TEST_P(SerializableSectionPairRowListValueTest_LineBreakTest, marshal)
   {
     SerializableSectionPairParameter parameter{};
-    shared_ptr<SectionPairRowListValue> value = make_shared<SectionPairRowListValue>();
+    auto value = make_shared<SectionPairRowListValue>();
     value->add("Drumming");
     value->add("Reading");
     value->add("Coding");
@@ -98,7 +98,7 @@ namespace
   TEST_P(SerializableSectionPairRowListValueTest_LineBreakTest, unmarshal)
   {
     SerializableSectionPairParameter parameter{};
-    shared_ptr<SectionPairRowListValue> value = make_shared<SectionPairRowListValue>();
+    auto value = make_shared<SectionPairRowListValue>();
     parameter.setValue(value);
     string newLine = GetParam();
     parameter.setNewLine(newLine);

+ 2 - 2
test/cases/io/section-pair/serialization/SerializableSectionPairRowSingleValueTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -73,7 +73,7 @@ namespace
   TEST_F(SerializableSectionPairRowSingleValueTest, getValue)
   {
     SerializableSectionPairParameter parameter{};
-    shared_ptr<SectionPairRowSingleValue> value = make_shared<SectionPairRowSingleValue>("empty");
+    auto value = make_shared<SectionPairRowSingleValue>("empty");
     parameter.setValue(value);
     SerializableSectionPairRowSingleValue serializable(parameter);
 

+ 3 - 3
test/cases/io/section-pair/serialization/SerializableSectionPairSectionTest.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-14
-* Changed:         2023-03-25
+* Changed:         2023-05-18
 *
 * */
 
@@ -113,7 +113,7 @@ namespace
   {
     string newLine = GetParam();
     SerializableSectionPairParameter parameter{};
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("tmp-id");
+    auto section = make_shared<SectionPairSection>("tmp-id");
     parameter.setValue(section);
     parameter.setNewLine(newLine);
     SerializableSectionPairSection serializable{parameter};
@@ -139,7 +139,7 @@ namespace
   {
     string newLine = GetParam();
     SerializableSectionPairParameter parameter{};
-    shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("tmp-id");
+    auto section = make_shared<SectionPairSection>("tmp-id");
     parameter.setValue(section);
     parameter.setNewLine(newLine);
     SerializableSectionPairSection serializable{parameter};

+ 9 - 9
test/classes/io/section-pair/SectionPairSectionProvider.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-15
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -27,17 +27,17 @@ SectionPairSectionProvider::~SectionPairSectionProvider() = default;
 
 shared_ptr<SectionPairSection> SectionPairSectionProvider::createSectionWithSandraExample()
 {
-  shared_ptr<SectionPairSection> generalSection = make_shared<SectionPairSection>("general");
+  auto generalSection = make_shared<SectionPairSection>("general");
 
-  shared_ptr<SectionPairRow> name = make_shared<SectionPairRow>("name", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+  auto name = make_shared<SectionPairRow>("name", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
   dynamic_pointer_cast<SectionPairRowSingleValue>(name->getValue())->set("Sandra");
   generalSection->add(name);
 
-  shared_ptr<SectionPairRow> age = make_shared<SectionPairRow>("age", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+  auto age = make_shared<SectionPairRow>("age", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
   dynamic_pointer_cast<SectionPairRowSingleValue>(age->getValue())->set("24");
   generalSection->add(age);
 
-  shared_ptr<SectionPairRow> hobbies = make_shared<SectionPairRow>("hobbies", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
+  auto hobbies = make_shared<SectionPairRow>("hobbies", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
   dynamic_pointer_cast<SectionPairRowListValue>(hobbies->getValue())->add("swimming");
   dynamic_pointer_cast<SectionPairRowListValue>(hobbies->getValue())->add("cycling");
   dynamic_pointer_cast<SectionPairRowListValue>(hobbies->getValue())->add("singing");
@@ -48,19 +48,19 @@ shared_ptr<SectionPairSection> SectionPairSectionProvider::createSectionWithSand
 
 shared_ptr<SectionPairSection> SectionPairSectionProvider::createSectionWithTomExample()
 {
-  shared_ptr<SectionPairSection> section = make_shared<SectionPairSection>("general");
+  auto section = make_shared<SectionPairSection>("general");
 
-  shared_ptr<SectionPairRow> name = make_shared<SectionPairRow>("name", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+  auto name = make_shared<SectionPairRow>("name", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
   dynamic_pointer_cast<SectionPairRowSingleValue>(name->getValue())->set("Tom");
   section->add(name);
 
-  shared_ptr<SectionPairRow> jobs = make_shared<SectionPairRow>("jobs", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
+  auto jobs = make_shared<SectionPairRow>("jobs", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
   shared_ptr<SectionPairRowListValue> jobList = dynamic_pointer_cast<SectionPairRowListValue>(jobs->getValue());
   jobList->add("Farmer");
   jobList->add("Bounty Hunter");
   section->add(jobs);
 
-  shared_ptr<SectionPairRow> age = make_shared<SectionPairRow>("age", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+  auto age = make_shared<SectionPairRow>("age", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
   dynamic_pointer_cast<SectionPairRowSingleValue>(age->getValue())->set("33");
   section->add(age);
 

+ 5 - 5
test/classes/io/section-pair/SerializableSectionPairRowProvider.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-17
-* Changed:         2023-02-23
+* Changed:         2023-05-18
 *
 * */
 
@@ -29,7 +29,7 @@ shared_ptr<SerializableSectionPairRow> SerializableSectionPairRowProvider::creat
 {
   SerializableSectionPairParameter parameter{};
   parameter.setNewLine(_newLine);
-  shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("favourite-colors", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
+  auto row = make_shared<SectionPairRow>("favourite-colors", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
   parameter.setValue(row);
   shared_ptr<SectionPairRowListValue> listValue = dynamic_pointer_cast<SectionPairRowListValue>(row->getValue());
   listValue->add("blue");
@@ -43,7 +43,7 @@ shared_ptr<SerializableSectionPairRow> SerializableSectionPairRowProvider::creat
 {
   SerializableSectionPairParameter parameter{};
   parameter.setNewLine(_newLine);
-  shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
+  auto row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
   parameter.setValue(row);
 
   return make_shared<SerializableSectionPairRow>(parameter);
@@ -53,7 +53,7 @@ shared_ptr<SerializableSectionPairRow> SerializableSectionPairRowProvider::creat
 {
   SerializableSectionPairParameter parameter{};
   parameter.setNewLine(_newLine);
-  shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("favourite-color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+  auto row = make_shared<SectionPairRow>("favourite-color", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
   parameter.setValue(row);
   shared_ptr<SectionPairRowSingleValue> singleValue = dynamic_pointer_cast<SectionPairRowSingleValue>(row->getValue());
   singleValue->set("blue");
@@ -65,7 +65,7 @@ shared_ptr<SerializableSectionPairRow> SerializableSectionPairRowProvider::creat
 {
   SerializableSectionPairParameter parameter{};
   parameter.setNewLine(_newLine);
-  shared_ptr<SectionPairRow> row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
+  auto row = make_shared<SectionPairRow>("tmp-key", SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
   parameter.setValue(row);
 
   return make_shared<SerializableSectionPairRow>(parameter);