#7 Merge development into main

Об'єднано
patrick-christopher.mattulat злито 26 комітів з public/development до public/main 17 годин тому
100 змінених файлів з 1403 додано та 1171 видалено
  1. 1 0
      .gitignore
  2. 59 347
      CMakeLists.txt
  3. 12 20
      README.md
  4. 115 0
      cmake/Build.cmake
  5. 23 0
      cmake/Security.cmake
  6. 148 0
      cmake/SourceFiles.cmake
  7. 148 0
      cmake/TestFiles.cmake
  8. 201 201
      doc/coline.html
  9. 1 1
      doc/internal/coding-guidelines.md
  10. 13 12
      include/ls-std/boxing/Boolean.hpp
  11. 23 22
      include/ls-std/boxing/Double.hpp
  12. 23 22
      include/ls-std/boxing/Float.hpp
  13. 25 24
      include/ls-std/boxing/Integer.hpp
  14. 40 39
      include/ls-std/boxing/Long.hpp
  15. 13 12
      include/ls-std/boxing/String.hpp
  16. 3 2
      include/ls-std/core/Class.hpp
  17. 3 2
      include/ls-std/core/ConditionalFunctionExecutor.hpp
  18. 3 2
      include/ls-std/core/LibraryVersion.hpp
  19. 16 15
      include/ls-std/core/Version.hpp
  20. 4 3
      include/ls-std/core/evaluator/EmptyStringArgumentEvaluator.hpp
  21. 4 3
      include/ls-std/core/evaluator/IndexOutOfBoundsEvaluator.hpp
  22. 4 3
      include/ls-std/core/evaluator/NullPointerArgumentEvaluator.hpp
  23. 4 3
      include/ls-std/core/evaluator/NullPointerEvaluator.hpp
  24. 9 8
      include/ls-std/core/evaluator/RawNullPointerArgumentEvaluator.hpp
  25. 9 8
      include/ls-std/core/evaluator/RawNullPointerEvaluator.hpp
  26. 4 3
      include/ls-std/core/exception/EventNotHandledException.hpp
  27. 3 2
      include/ls-std/core/exception/Exception.hpp
  28. 3 2
      include/ls-std/core/exception/ExceptionMessage.hpp
  29. 4 3
      include/ls-std/core/exception/FileNotFoundException.hpp
  30. 4 3
      include/ls-std/core/exception/FileOperationException.hpp
  31. 4 3
      include/ls-std/core/exception/IllegalArgumentException.hpp
  32. 4 3
      include/ls-std/core/exception/IllegalArithmeticOperationException.hpp
  33. 4 3
      include/ls-std/core/exception/IncompleteJsonException.hpp
  34. 4 3
      include/ls-std/core/exception/IndexOutOfBoundsException.hpp
  35. 4 3
      include/ls-std/core/exception/NotImplementedException.hpp
  36. 4 3
      include/ls-std/core/exception/NullPointerException.hpp
  37. 3 2
      include/ls-std/core/interface/IBoxing.hpp
  38. 3 2
      include/ls-std/core/interface/IEncoding.hpp
  39. 3 2
      include/ls-std/core/interface/IEvaluator.hpp
  40. 3 2
      include/ls-std/core/interface/IJniApi.hpp
  41. 4 3
      include/ls-std/core/interface/IListener.hpp
  42. 4 3
      include/ls-std/core/interface/IReader.hpp
  43. 5 4
      include/ls-std/core/interface/ISerializable.hpp
  44. 5 4
      include/ls-std/core/interface/IStorable.hpp
  45. 3 2
      include/ls-std/core/interface/IValidator.hpp
  46. 4 3
      include/ls-std/core/interface/IWriter.hpp
  47. 4 3
      include/ls-std/core/jni/JniApi.hpp
  48. 15 14
      include/ls-std/core/jni/JniClass.hpp
  49. 6 5
      include/ls-std/core/jni/JniClassParameter.hpp
  50. 3 2
      include/ls-std/core/jni/JniMethod.hpp
  51. 3 2
      include/ls-std/core/jni/JniReturnValue.hpp
  52. 3 2
      include/ls-std/core/type/RawPointer.hpp
  53. 3 2
      include/ls-std/core/type/Types.hpp
  54. 4 3
      include/ls-std/encoding/Base64.hpp
  55. 8 7
      include/ls-std/event/Event.hpp
  56. 14 13
      include/ls-std/event/EventListener.hpp
  57. 19 18
      include/ls-std/event/EventManager.hpp
  58. 3 2
      include/ls-std/event/EventParameter.hpp
  59. 3 2
      include/ls-std/event/type/EventTypes.hpp
  60. 9 7
      include/ls-std/io/File.hpp
  61. 8 7
      include/ls-std/io/FileOutputStream.hpp
  62. 3 2
      include/ls-std/io/FilePathSeparator.hpp
  63. 3 2
      include/ls-std/io/FilePathSeparatorMatch.hpp
  64. 8 7
      include/ls-std/io/FileReader.hpp
  65. 8 7
      include/ls-std/io/FileWriter.hpp
  66. 3 2
      include/ls-std/io/NewLine.hpp
  67. 5 4
      include/ls-std/io/StandardOutputWriter.hpp
  68. 8 7
      include/ls-std/io/StorableFile.hpp
  69. 4 3
      include/ls-std/io/evaluator/FileExistenceEvaluator.hpp
  70. 16 15
      include/ls-std/io/logging/LogLevel.hpp
  71. 3 2
      include/ls-std/io/logging/LogLevelValue.hpp
  72. 18 17
      include/ls-std/io/logging/Logger.hpp
  73. 3 2
      include/ls-std/io/section-pair/SectionPairMessageFormatter.hpp
  74. 3 2
      include/ls-std/io/section-pair/SectionPairRowEnumType.hpp
  75. 3 2
      include/ls-std/io/section-pair/SectionPairTypes.hpp
  76. 6 5
      include/ls-std/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluator.hpp
  77. 4 3
      include/ls-std/io/section-pair/evaluator/SectionPairRowArgumentEvaluator.hpp
  78. 4 3
      include/ls-std/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluator.hpp
  79. 4 3
      include/ls-std/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluator.hpp
  80. 4 3
      include/ls-std/io/section-pair/evaluator/SectionPairSectionArgumentEvaluator.hpp
  81. 6 5
      include/ls-std/io/section-pair/evaluator/SectionPairValueArgumentEvaluator.hpp
  82. 16 15
      include/ls-std/io/section-pair/model/SectionPairDocument.hpp
  83. 15 14
      include/ls-std/io/section-pair/model/SectionPairRow.hpp
  84. 12 11
      include/ls-std/io/section-pair/model/SectionPairRowListValue.hpp
  85. 13 12
      include/ls-std/io/section-pair/model/SectionPairRowSingleValue.hpp
  86. 10 9
      include/ls-std/io/section-pair/model/SectionPairRowValue.hpp
  87. 21 20
      include/ls-std/io/section-pair/model/SectionPairSection.hpp
  88. 9 7
      include/ls-std/io/section-pair/reader/SectionPairFileReader.hpp
  89. 12 11
      include/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.hpp
  90. 12 11
      include/ls-std/io/section-pair/serialization/SerializableSectionPairDocument.hpp
  91. 6 5
      include/ls-std/io/section-pair/serialization/SerializableSectionPairParameter.hpp
  92. 11 10
      include/ls-std/io/section-pair/serialization/SerializableSectionPairRow.hpp
  93. 10 9
      include/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.hpp
  94. 9 8
      include/ls-std/io/section-pair/serialization/SerializableSectionPairRowSingleValue.hpp
  95. 19 18
      include/ls-std/io/section-pair/serialization/SerializableSectionPairSection.hpp
  96. 5 4
      include/ls-std/io/section-pair/type/SectionPairDocumentTypes.hpp
  97. 5 4
      include/ls-std/io/section-pair/type/SectionPairSectionTypes.hpp
  98. 4 3
      include/ls-std/io/section-pair/validator/SectionPairDocumentValidator.hpp
  99. 4 3
      include/ls-std/io/section-pair/validator/SectionPairFileExtensionValidator.hpp
  100. 6 5
      include/ls-std/io/section-pair/validator/SectionPairIdentifierValidator.hpp

+ 1 - 0
.gitignore

@@ -1,3 +1,4 @@
 .idea
 cmake-build-*
 test/TestHelper.hpp
+ai-assistent.txt

+ 59 - 347
CMakeLists.txt

@@ -11,7 +11,7 @@
 ##########################################################
 
 cmake_minimum_required(VERSION 3.30)
-project(ls-std VERSION 2024.1.0.0)
+project(ls-std VERSION 1.0.1)
 
 set(MODULE_NAME_BOXING ls-std-boxing)
 set(MODULE_NAME_CORE ls-std-core)
@@ -77,8 +77,8 @@ endif ()
 
 message("${PROJECT_NAME}: Setting compiler flags...")
 set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
 
 ##########################################################
 # Compiler Support
@@ -90,7 +90,6 @@ if (${LS_STD_BUILD_WITH_SUPPORTED_COMPILER})
     # define supported compilers
 
     if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC OR
-            ${CMAKE_CXX_COMPILER_ID} STREQUAL GNU OR
             ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR
             ${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
         message("${PROJECT_NAME}: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} is supported...")
@@ -154,118 +153,28 @@ endif ()
 ####################################################################################################################
 ####################################################################################################################
 
-set(SOURCE_FILES_BOXING
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Boolean.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Double.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Float.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Integer.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Long.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/String.cpp)
-
-set(SOURCE_FILES_CORE
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/EmptyStringArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/IndexOutOfBoundsEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/NullPointerArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/NullPointerEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/EventNotHandledException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/Exception.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/ExceptionMessage.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/FileNotFoundException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/FileOperationException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IllegalArgumentException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IllegalArithmeticOperationException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IncompleteJsonException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IndexOutOfBoundsException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/NotImplementedException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/NullPointerException.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IBoxing.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IEncoding.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IListener.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IReader.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/ISerializable.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IStorable.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IWriter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Class.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/ConditionalFunctionExecutor.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/LibraryVersion.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Version.cpp)
-
-set(SOURCE_FILES_CORE_JNI
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IJniApi.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniApi.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniClass.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniClassParameter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniMethod.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniReturnValue.cpp)
-
-set(SOURCE_FILES_ENCODING
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/encoding/Base64.cpp)
-
-set(SOURCE_FILES_EVENT
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/Event.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/EventListener.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/EventManager.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/EventParameter.cpp)
-
-set(SOURCE_FILES_IO
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/evaluator/FileExistenceEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/logging/Logger.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/logging/LogLevel.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairRowArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairSectionArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairValueArgumentEvaluator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairDocument.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRow.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRowListValue.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRowSingleValue.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRowValue.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairSection.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/reader/SectionPairFileReader.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairDocument.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairParameter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairRow.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairRowSingleValue.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairSection.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairDocumentValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairFileExtensionValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairIdentifierValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairRowListValueValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairRowSingleValueValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairRowValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairSectionValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairValueValidator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/SectionPairMessageFormatter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlAttribute.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlDeclaration.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlDocument.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlNode.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlParseParameter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlParser.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlReader.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/File.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FileOutputStream.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FilePathSeparator.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FilePathSeparatorMatch.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FileReader.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FileWriter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/NewLine.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/StandardOutputWriter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/StorableFile.cpp)
-
-set(SOURCE_FILES_TIME
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/common/DateParameter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/common/DateParameterMapper.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/IClock.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/SystemTime.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/SystemTimeParameter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/Date.cpp)
+include(cmake/SourceFiles.cmake)
+
+set(SOURCE_FILES_BOXING)
+collect_boxing_module_source_files(SOURCE_FILES_BOXING)
+
+set(SOURCE_FILES_CORE)
+collect_core_module_source_files(SOURCE_FILES_CORE)
+
+set(SOURCE_FILES_CORE_JNI)
+collect_core_jni_module_source_files(SOURCE_FILES_CORE_JNI)
+
+set(SOURCE_FILES_ENCODING)
+collect_encoding_module_source_files(SOURCE_FILES_ENCODING)
+
+set(SOURCE_FILES_EVENT)
+collect_event_module_source_files(SOURCE_FILES_EVENT)
+
+set(SOURCE_FILES_IO)
+collect_io_module_source_files(SOURCE_FILES_IO)
+
+set(SOURCE_FILES_TIME)
+collect_time_module_source_files(SOURCE_FILES_TIME)
 
 set(SOURCE_FILES_LINUX_TIME)
 set(SOURCE_FILES_WINDOWS_TIME)
@@ -280,9 +189,8 @@ else (WIN32)
             ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/WindowsClock.cpp)
 endif ()
 
-set(SOURCE_FILES_TIME_JNI
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/common/jni/JniDateParameterMapper.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/jni/com_lynarstudios_ls_std_time_systemtime_SystemTimeJni.cpp)
+set(SOURCE_FILES_TIME_JNI)
+collect_time_jni_module_source_files(SOURCE_FILES_TIME_JNI)
 
 ####################################################################################################################
 ####################################################################################################################
@@ -293,122 +201,31 @@ set(SOURCE_FILES_TIME_JNI
 ####################################################################################################################
 
 if (${LS_STD_BUILD_WITH_TESTS})
-    set(UNIT_TEST_FILES_BOXING
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/BooleanTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/DoubleTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/FloatTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/IntegerTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/LongTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/StringTest.cpp)
-
-    set(UNIT_TEST_FILES_CORE
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/EmptyStringArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/IndexOutOfBoundsEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/NullPointerArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/NullPointerEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/RawNullPointerArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/RawNullPointerEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/EventNotHandledExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/ExceptionMessageTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/FileNotFoundExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/FileOperationExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IllegalArgumentExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IllegalArithmeticOperationExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IncompleteJsonExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IndexOutOfBoundsExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/NotImplementedExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/NullPointerExceptionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/ClassTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/ConditionalFunctionExecutorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/LibraryVersionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/VersionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/core/ClassWrapper.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/core/MathOddValidator.cpp)
-
-    set(UNIT_TEST_FILES_CORE_JNI
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniApiTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniClassParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniClassTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniMethodTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniReturnValueTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/core/jni/MockJniApi.cpp)
-
-    set(UNIT_TEST_FILES_ENCODING
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/encoding/Base64Test.cpp)
-
-    set(UNIT_TEST_FILES_EVENT
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventListenerTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventManagerTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/event/ChangeColorEvent.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/event/OnClickEvent.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/event/Button.cpp)
-
-    set(UNIT_TEST_FILES_IO
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/evaluator/FileExistenceEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/logging/LoggerTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/logging/LogLevelTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairRowArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairSectionArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairValueArgumentEvaluatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairDocumentTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairRowListValueTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairRowSingleValueTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairRowTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairSectionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/reader/SectionPairFileReaderParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/reader/SectionPairFileReaderTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairDocumentTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairRowListValueTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairRowSingleValueTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairRowTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairSectionTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairDocumentValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairFileExtensionValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairIdentifierValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairRowListValueValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairRowSingleValueValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairRowValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairSectionValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairValueValidatorTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/SectionPairMessageFormatterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlAttributeTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlDeclarationTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlDocumentTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlNodeTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlParseParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlParserTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlParserTestWrapperTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlReaderTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileOutputStreamTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileReaderTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileWriterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/StandardOutputWriterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/StorableFileTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/section-pair/SectionPairDocumentProvider.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/section-pair/SectionPairSectionProvider.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/section-pair/SerializableSectionPairRowProvider.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/xml/TestDataFactory.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/xml/XmlParserTestWrapper.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/MockFileExistenceEvaluator.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/MockFileReader.cpp)
-
-    set(UNIT_TEST_FILES_SERIALIZATION
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/serialization/JsonTest.cpp)
-
-    set(UNIT_TEST_FILES_TIME
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/common/DateParameterMapperTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/common/DateParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/system-time/SystemTimeParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/system-time/SystemTimeTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/DateTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/time/system-time/MockClock.cpp)
+    include(cmake/TestFiles.cmake)
+
+    set(UNIT_TEST_FILES_BOXING)
+    collect_boxing_module_test_files(UNIT_TEST_FILES_BOXING)
+
+    set(UNIT_TEST_FILES_CORE)
+    collect_core_module_test_files(UNIT_TEST_FILES_CORE)
+
+    set(UNIT_TEST_FILES_CORE_JNI)
+    collect_core_jni_module_test_files(UNIT_TEST_FILES_CORE_JNI)
+
+    set(UNIT_TEST_FILES_ENCODING)
+    collect_encoding_module_test_files(UNIT_TEST_FILES_ENCODING)
+
+    set(UNIT_TEST_FILES_EVENT)
+    collect_event_module_test_files(UNIT_TEST_FILES_EVENT)
+
+    set(UNIT_TEST_FILES_IO)
+    collect_io_module_test_files(UNIT_TEST_FILES_IO)
+
+    set(UNIT_TEST_FILES_SERIALIZATION)
+    collect_serialization_module_test_files(UNIT_TEST_FILES_SERIALIZATION)
+
+    set(UNIT_TEST_FILES_TIME)
+    collect_time_module_test_files(UNIT_TEST_FILES_TIME)
 endif ()
 
 ####################################################################################################################
@@ -594,125 +411,20 @@ endif ()
 ####################################################################################################################
 ####################################################################################################################
 
-##########################################################
-# Build Library (boxing)
-##########################################################
-
-message("${PROJECT_NAME}: Building ${MODULE_NAME_BOXING} library version ${PROJECT_VERSION}...")
-
-if (${LS_STD_BUILD_STATIC})
-    add_library("${MODULE_NAME_BOXING}" STATIC ${SOURCE_FILES_BOXING})
-    set_target_properties("${MODULE_NAME_BOXING}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-if (${LS_STD_BUILD_SHARED})
-    add_library("${MODULE_NAME_BOXING}" SHARED ${SOURCE_FILES_BOXING})
-    target_link_libraries("${MODULE_NAME_BOXING}" ${MODULE_NAME_CORE})
-    set_target_properties("${MODULE_NAME_BOXING}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-##########################################################
-# Build Library (core)
-##########################################################
-
-message("${PROJECT_NAME}: Building ${MODULE_NAME_CORE} library version ${PROJECT_VERSION}...")
-
-if (${LS_STD_BUILD_STATIC})
-    add_library("${MODULE_NAME_CORE}" STATIC ${SOURCE_FILES_CORE})
-    set_target_properties("${MODULE_NAME_CORE}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-if (${LS_STD_BUILD_SHARED})
-    if (${LS_STD_BUILD_WITH_JNI})
-        message("${MODULE_NAME_CORE}: building with JNI...")
-        add_library("${MODULE_NAME_CORE}" SHARED ${SOURCE_FILES_CORE} ${SOURCE_FILES_CORE_JNI})
-        set_target_properties("${MODULE_NAME_CORE}" PROPERTIES DEBUG_POSTFIX "-d")
-    else ()
-        add_library("${MODULE_NAME_CORE}" SHARED ${SOURCE_FILES_CORE})
-        set_target_properties("${MODULE_NAME_CORE}" PROPERTIES DEBUG_POSTFIX "-d")
-    endif ()
-endif ()
-
-##########################################################
-# Build Library (encoding)
-##########################################################
+include(cmake/Build.cmake)
 
-message("${PROJECT_NAME}: Building ${MODULE_NAME_ENCODING} library version ${PROJECT_VERSION}...")
-
-if (${LS_STD_BUILD_STATIC})
-    add_library("${MODULE_NAME_ENCODING}" STATIC ${SOURCE_FILES_ENCODING})
-    set_target_properties("${MODULE_NAME_ENCODING}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-if (${LS_STD_BUILD_SHARED})
-    add_library("${MODULE_NAME_ENCODING}" SHARED ${SOURCE_FILES_ENCODING})
-    target_link_libraries("${MODULE_NAME_ENCODING}" ${MODULE_NAME_CORE})
-    set_target_properties("${MODULE_NAME_ENCODING}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
+build_boxing_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED MODULE_NAME_BOXING MODULE_NAME_CORE SOURCE_FILES_BOXING)
+build_core_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED LS_STD_BUILD_WITH_JNI MODULE_NAME_CORE SOURCE_FILES_CORE SOURCE_FILES_CORE_JNI)
+build_encoding_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED MODULE_NAME_ENCODING MODULE_NAME_CORE SOURCE_FILES_ENCODING)
+build_event_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED MODULE_NAME_EVENT MODULE_NAME_CORE SOURCE_FILES_EVENT)
+build_io_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED MODULE_NAME_IO MODULE_NAME_CORE SOURCE_FILES_IO)
+build_time_module(LS_STD_BUILD_STATIC LS_STD_BUILD_SHARED LS_STD_BUILD_WITH_JNI MODULE_NAME_TIME MODULE_NAME_CORE SOURCE_FILES_TIME SOURCE_FILES_LINUX_TIME SOURCE_FILES_WINDOWS_TIME SOURCE_FILES_TIME_JNI)
 
 # CLI base64
 
 add_executable(${CLI_NAME_BASE64}
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/encoding/cli/cli-base64-main.cpp)
 
-##########################################################
-# Build Library (event)
-##########################################################
-
-message("${PROJECT_NAME}: Building ${MODULE_NAME_EVENT} library version ${PROJECT_VERSION}...")
-
-if (${LS_STD_BUILD_STATIC})
-    add_library("${MODULE_NAME_EVENT}" STATIC ${SOURCE_FILES_EVENT})
-    set_target_properties("${MODULE_NAME_EVENT}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-if (${LS_STD_BUILD_SHARED})
-    add_library("${MODULE_NAME_EVENT}" SHARED ${SOURCE_FILES_EVENT})
-    target_link_libraries("${MODULE_NAME_EVENT}" ${MODULE_NAME_CORE})
-    set_target_properties("${MODULE_NAME_EVENT}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-##########################################################
-# Build Library (io)
-##########################################################
-
-message("${PROJECT_NAME}: Building ${MODULE_NAME_IO} library version ${PROJECT_VERSION}...")
-
-if (${LS_STD_BUILD_STATIC})
-    add_library("${MODULE_NAME_IO}" STATIC ${SOURCE_FILES_IO})
-    set_target_properties("${MODULE_NAME_IO}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-if (${LS_STD_BUILD_SHARED})
-    add_library("${MODULE_NAME_IO}" SHARED ${SOURCE_FILES_IO})
-    target_link_libraries("${MODULE_NAME_IO}" ${MODULE_NAME_CORE})
-    set_target_properties("${MODULE_NAME_IO}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-##########################################################
-# Build Library (time)
-##########################################################
-
-message("${PROJECT_NAME}: Building ${MODULE_NAME_TIME} library version ${PROJECT_VERSION}...")
-
-if (${LS_STD_BUILD_STATIC})
-    add_library("${MODULE_NAME_TIME}" STATIC ${SOURCE_FILES_TIME} ${SOURCE_FILES_LINUX_TIME} ${SOURCE_FILES_WINDOWS_TIME})
-    set_target_properties("${MODULE_NAME_TIME}" PROPERTIES DEBUG_POSTFIX "-d")
-endif ()
-
-if (${LS_STD_BUILD_SHARED})
-    if (${LS_STD_BUILD_WITH_JNI})
-        message("${MODULE_NAME_TIME}: building with JNI...")
-        add_library("${MODULE_NAME_TIME}" SHARED ${SOURCE_FILES_TIME} ${SOURCE_FILES_LINUX_TIME} ${SOURCE_FILES_WINDOWS_TIME} ${SOURCE_FILES_TIME_JNI})
-        target_link_libraries("${MODULE_NAME_TIME}" ${MODULE_NAME_CORE})
-        set_target_properties("${MODULE_NAME_TIME}" PROPERTIES DEBUG_POSTFIX "-d")
-    else ()
-        add_library("${MODULE_NAME_TIME}" SHARED ${SOURCE_FILES_TIME} ${SOURCE_FILES_LINUX_TIME} ${SOURCE_FILES_WINDOWS_TIME})
-        target_link_libraries("${MODULE_NAME_TIME}" ${MODULE_NAME_CORE})
-        set_target_properties("${MODULE_NAME_TIME}" PROPERTIES DEBUG_POSTFIX "-d")
-    endif ()
-endif ()
-
 ####################################################################################################################
 ####################################################################################################################
 ####################################################################################################################

+ 12 - 20
README.md

@@ -1,7 +1,7 @@
-# Lynar Studios - Standard Library 2024.1.0.0 #
+# Lynar Studios - Standard Library 1.0.1 #
 
 This is a cross-platform standard library written in C++ offering functionalities you would usually miss in C++'s standard library, especially if you would search for cross-platform implementations.  
-This library has been tested on __Windows__, __Linux__ and __MacOS__ systems.
+This library has been tested on __Windows__, __Linux__ and __macOS__ systems.
 Following a modularized approach the following independent submodules are defined in scope of this library:
  
 #### Boxing ####
@@ -34,19 +34,13 @@ A __Date__ class comes with this submodule, which you can use to represent a dat
 
 #### Features ####
 
-- a reworked version of Event handling is now available, which orients more on nowadays standards - this implementation
-  is replacing the old Event based implementation
-- this library is now licensed under the __LGPL v3__ license
-- a class documentation has been added, which was generated by Coline code generation tool
+- GNU-like compilers are not supported anymore to focus more in depth on MSVC, Clang, Apple Clang - thus, still supporting the major platforms Linux, macOS and Windows
+- ls::std:: namespace was renamed to ls::standard to avoid clashes with C++-STL.
 
 #### Improvements ####
 
-- an OS-specific initialization-script is now being provided for setting up the project and preparing it for the developer for code-contribution
-- the library version scheme is now reflecting major-, minor- and patch-level additionally to the year of release to
-  rightfully reflect on the change impact, resulting into the format YYYY.MAJOR.MINOR.PATCH
-- CMake required minimum version was upgraded to __3.30.0__
-- GCC required minimum compiler version was upgraded to __14.2__
-- Google Test version was upgraded to __1.15.2__
+- CMake project is now modularized to reduce complexity of a single CMakeLists.txt file
+- Overall increased security within code basis (based on Clang compiler security flags)
 
 #### Fixes ####
 
@@ -55,7 +49,7 @@ A __Date__ class comes with this submodule, which you can use to represent a dat
 ---
 ### Documentation ###
 
-You can find a detailed documentation on Lynar Studios Website: lynarstudios.com
+A simple HTML documentation file generated with Coline code documentation tool can be found inside the __doc__ folder of the project's root directory.
 
 ---
 ### License ###
@@ -81,13 +75,11 @@ Building this library would result into providing binaries for each library modu
 
 To build this library you'd need a supported __toolchain__ in place, consisting of a build tool and compiler. The following table is a listing of supported compilers and build tools associated with operating systems, where this library has been tested:
 
-| Supported Compiler<br/>(mandatory) | OS               | Supported Compiler Version<br/>(mandatory) | Build Tool<br/>(mandatory) | Build Tool Version (mandatory) |
-|------------------------------------|------------------|--------------------------------------------|----------------------------|--------------------------------|
-| GCC                                | Ubuntu 22.04 LTS | 14.2.0                                     | CMake                      | \>= 3.30.0                     |
-| Clang                              | Linux Mint 20.3  | 12.0.0-3ubuntu1~20.04.5                    | CMake                      | \>= 3.30.0                     |
-| MinGW-w64 / GCC                    | Windows 10       | 11.2.0                                     | CMake                      | \>= 3.30.0                     |
-| MSVC                               | Windows 10       | 19.41.34120.0                              | CMake                      | \>= 3.30.0                     |
-| AppleClang                         | MacOS Monterey   | 14.0.0                                     | CMake                      | \>= 3.30.0                     |
+| Supported Compiler<br/>(mandatory) | Supported Compiler Version<br/>(mandatory) | Build Tool<br/>(mandatory) | Build Tool Version (mandatory) |
+|------------------------------------|--------------------------------------------|----------------------------|--------------------------------|
+| Clang                              | &gt;= 21.1.8                               | CMake                      | &gt;= 3.30.0                   |
+| MSVC                               | &gt;= 19.50.35721.0                        | CMake                      | &gt;= 3.30.0                   |
+| AppleClang                         | &gt;= 17.0.0                               | CMake                      | &gt;= 3.30.0                   |
 
 Please note, that where the underlying operating system is optional in this listing, the toolchain itself is not! This means, that by default you should use one of the supported listed toolchains.  
 In case you'd like to use an unsupported toolchain, you can enforce this during CMake project generation. For that have a look at the CMake flag usage section below.

+ 115 - 0
cmake/Build.cmake

@@ -0,0 +1,115 @@
+function(build_boxing_module build_static_flag build_shared_flag module_name module_name_core source_files)
+    include(${CMAKE_CURRENT_LIST_DIR}/cmake/Security.cmake)
+
+    if (${build_static_flag})
+        add_library("${${module_name}}" STATIC ${${source_files}})
+        enable_strict_warnings(module_name)
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+
+    if (${build_shared_flag})
+        add_library("${${module_name}}" SHARED ${${source_files}})
+        enable_strict_warnings(module_name)
+        target_link_libraries("${${module_name}}" ${${module_name_core}})
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+endfunction()
+
+function(build_core_module build_static_flag build_shared_flag build_jni_flag module_name source_files jni_source_files)
+    include(${CMAKE_CURRENT_LIST_DIR}/cmake/Security.cmake)
+
+    if (${build_static_flag})
+        add_library("${${module_name}}" STATIC ${${source_files}})
+        enable_strict_warnings(module_name)
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+
+    if (${build_shared_flag})
+        if (${build_jni_flag})
+            message("${${module_name}}: building with JNI...")
+            add_library("${${module_name}}" SHARED ${${source_files}} ${${jni_source_files}})
+            enable_strict_warnings(module_name)
+            set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+        else ()
+            add_library("${${module_name}}" SHARED ${${source_files}})
+            enable_strict_warnings(module_name)
+            set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+        endif ()
+    endif ()
+endfunction()
+
+function(build_encoding_module build_static_flag build_shared_flag module_name module_name_core source_files)
+    include(${CMAKE_CURRENT_LIST_DIR}/cmake/Security.cmake)
+
+    if (${build_static_flag})
+        add_library("${${module_name}}" STATIC ${${source_files}})
+        enable_strict_warnings(module_name)
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+
+    if (${build_shared_flag})
+        add_library("${${module_name}}" SHARED ${${source_files}})
+        enable_strict_warnings(module_name)
+        target_link_libraries("${${module_name}}" ${${module_name_core}})
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+endfunction()
+
+function(build_event_module build_static_flag build_shared_flag module_name module_name_core source_files)
+    include(${CMAKE_CURRENT_LIST_DIR}/cmake/Security.cmake)
+
+    if (${build_static_flag})
+        add_library("${${module_name}}" STATIC ${${source_files}})
+        enable_strict_warnings(module_name)
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+
+    if (${build_shared_flag})
+        add_library("${${module_name}}" SHARED ${${source_files}})
+        enable_strict_warnings(module_name)
+        target_link_libraries("${${module_name}}" ${${module_name_core}})
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+endfunction()
+
+function(build_io_module build_static_flag build_shared_flag module_name module_name_core source_files)
+    include(${CMAKE_CURRENT_LIST_DIR}/cmake/Security.cmake)
+
+    if (${build_static_flag})
+        add_library("${${module_name}}" STATIC ${${source_files}})
+        enable_strict_warnings(module_name)
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+
+    if (${build_shared_flag})
+        add_library("${${module_name}}" SHARED ${${source_files}})
+        enable_strict_warnings(module_name)
+        target_link_libraries("${${module_name}}" ${${module_name_core}})
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+endfunction()
+
+function(build_time_module build_static_flag build_shared_flag build_jni_flag module_name module_name_core source_files source_files_linux source_files_windows source_files_jni)
+    include(${CMAKE_CURRENT_LIST_DIR}/cmake/Security.cmake)
+
+    if (${build_static_flag})
+        add_library("${${module_name}}" STATIC ${${source_files}} ${${source_files_linux}} ${${source_files_windows}})
+        enable_strict_warnings(module_name)
+        set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+    endif ()
+
+    if (${build_shared_flag})
+        if (${build_jni_flag})
+            message("${${module_name}}: building with JNI...")
+            add_library("${${module_name}}" SHARED ${${source_files}} ${${source_files_linux}} ${${source_files_windows}} ${${source_files_jni}})
+            enable_strict_warnings(module_name)
+            target_link_libraries("${${module_name}}" ${${module_name_core}})
+            set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+        else ()
+            add_library("${${module_name}}" SHARED ${${source_files}} ${${source_files_linux}} ${${source_files_windows}})
+            enable_strict_warnings(module_name)
+            target_link_libraries("${${module_name}}" ${${module_name_core}})
+            set_target_properties("${${module_name}}" PROPERTIES DEBUG_POSTFIX "-d")
+        endif ()
+    endif ()
+endfunction()

+ 23 - 0
cmake/Security.cmake

@@ -0,0 +1,23 @@
+function(enable_strict_warnings target)
+    if (MSVC)
+        #target_compile_options(${${${target}}} PRIVATE // Too complicated currently
+        #        /W3
+        #        /WX
+        #        /permissive-
+        #        /sdl
+        #)
+    else()
+        target_compile_options(${${${target}}} PRIVATE
+                -Wall
+                -Wextra
+                -Wpedantic
+                -Werror
+                -Wshadow
+                -Wconversion
+                -Wsign-conversion
+                -Wnull-dereference
+                -Wdouble-promotion
+                -Wformat=2
+        )
+    endif()
+endfunction()

+ 148 - 0
cmake/SourceFiles.cmake

@@ -0,0 +1,148 @@
+function(collect_boxing_module_source_files placeholder)
+    set(SOURCE_FILES_BOXING
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Boolean.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Double.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Float.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Integer.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/Long.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/String.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_BOXING} PARENT_SCOPE)
+endfunction()
+
+function(collect_core_module_source_files placeholder)
+    set(SOURCE_FILES_CORE
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/EmptyStringArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/IndexOutOfBoundsEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/NullPointerArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/evaluator/NullPointerEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/EventNotHandledException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/Exception.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/ExceptionMessage.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/FileNotFoundException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/FileOperationException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IllegalArgumentException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IllegalArithmeticOperationException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IncompleteJsonException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/IndexOutOfBoundsException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/NotImplementedException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/NullPointerException.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IBoxing.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IEncoding.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IListener.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IReader.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/ISerializable.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IStorable.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IWriter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Class.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/ConditionalFunctionExecutor.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/LibraryVersion.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Version.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_CORE} PARENT_SCOPE)
+endfunction()
+
+function(collect_core_jni_module_source_files placeholder)
+    set(SOURCE_FILES_CORE_JNI
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IJniApi.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniApi.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniClass.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniClassParameter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniMethod.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/jni/JniReturnValue.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_CORE_JNI} PARENT_SCOPE)
+endfunction()
+
+function(collect_encoding_module_source_files placeholder)
+    set(SOURCE_FILES_ENCODING
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/encoding/Base64.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_ENCODING} PARENT_SCOPE)
+endfunction()
+
+function(collect_event_module_source_files placeholder)
+    set(SOURCE_FILES_EVENT
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/Event.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/EventListener.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/EventManager.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/EventParameter.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_EVENT} PARENT_SCOPE)
+endfunction()
+
+function(collect_io_module_source_files placeholder)
+    set(SOURCE_FILES_IO
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/evaluator/FileExistenceEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/logging/Logger.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/logging/LogLevel.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairRowArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairSectionArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairValueArgumentEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairDocument.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRow.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRowListValue.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRowSingleValue.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairRowValue.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/model/SectionPairSection.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/reader/SectionPairFileReader.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairDocument.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairParameter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairRow.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairRowSingleValue.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/serialization/SerializableSectionPairSection.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairDocumentValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairFileExtensionValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairIdentifierValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairRowListValueValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairRowSingleValueValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairRowValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairSectionValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/validator/SectionPairValueValidator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/SectionPairMessageFormatter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlAttribute.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlDeclaration.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlDocument.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlNode.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlParseParameter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlParser.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/xml/XmlReader.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/File.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FileOutputStream.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FilePathSeparator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FilePathSeparatorMatch.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FileReader.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/FileWriter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/NewLine.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/StandardOutputWriter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/StorableFile.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_IO} PARENT_SCOPE)
+endfunction()
+
+function(collect_time_module_source_files placeholder)
+    set(SOURCE_FILES_TIME
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/common/DateParameter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/common/DateParameterMapper.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/IClock.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/SystemTime.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/SystemTimeParameter.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/Date.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_TIME} PARENT_SCOPE)
+endfunction()
+
+function(collect_time_jni_module_source_files placeholder)
+    set(SOURCE_FILES_TIME_JNI
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/common/jni/JniDateParameterMapper.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/time/system-time/jni/com_lynarstudios_ls_std_time_systemtime_SystemTimeJni.cpp)
+
+    set(${placeholder} ${SOURCE_FILES_TIME_JNI} PARENT_SCOPE)
+endfunction()

+ 148 - 0
cmake/TestFiles.cmake

@@ -0,0 +1,148 @@
+function(collect_boxing_module_test_files placeholder)
+    set(UNIT_TEST_FILES_BOXING
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/BooleanTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/DoubleTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/FloatTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/IntegerTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/LongTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/boxing/StringTest.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_BOXING} PARENT_SCOPE)
+endfunction()
+
+function(collect_core_module_test_files placeholder)
+    set(UNIT_TEST_FILES_CORE
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/EmptyStringArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/IndexOutOfBoundsEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/NullPointerArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/NullPointerEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/RawNullPointerArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/evaluator/RawNullPointerEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/EventNotHandledExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/ExceptionMessageTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/FileNotFoundExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/FileOperationExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IllegalArgumentExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IllegalArithmeticOperationExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IncompleteJsonExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/IndexOutOfBoundsExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/NotImplementedExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/exception/NullPointerExceptionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/ClassTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/ConditionalFunctionExecutorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/LibraryVersionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/VersionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/core/ClassWrapper.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/core/MathOddValidator.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_CORE} PARENT_SCOPE)
+endfunction()
+
+function(collect_core_jni_module_test_files placeholder)
+    set(UNIT_TEST_FILES_CORE_JNI
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniApiTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniClassParameterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniClassTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniMethodTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/core/jni/JniReturnValueTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/core/jni/MockJniApi.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_CORE_JNI} PARENT_SCOPE)
+endfunction()
+
+function(collect_encoding_module_test_files placeholder)
+    set(UNIT_TEST_FILES_ENCODING
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/encoding/Base64Test.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_ENCODING} PARENT_SCOPE)
+endfunction()
+
+function(collect_event_module_test_files placeholder)
+    set(UNIT_TEST_FILES_EVENT
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventListenerTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventManagerTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventParameterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/event/EventTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/event/ChangeColorEvent.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/event/OnClickEvent.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/event/Button.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_EVENT} PARENT_SCOPE)
+endfunction()
+
+function(collect_io_module_test_files placeholder)
+    set(UNIT_TEST_FILES_IO
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/evaluator/FileExistenceEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/logging/LoggerTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/logging/LogLevelTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairRowArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairSectionArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairValueArgumentEvaluatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairDocumentTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairRowListValueTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairRowSingleValueTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairRowTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/model/SectionPairSectionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/reader/SectionPairFileReaderParameterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/reader/SectionPairFileReaderTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairDocumentTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairParameterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairRowListValueTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairRowSingleValueTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairRowTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/serialization/SerializableSectionPairSectionTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairDocumentValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairFileExtensionValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairIdentifierValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairRowListValueValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairRowSingleValueValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairRowValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairSectionValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/validator/SectionPairValueValidatorTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/SectionPairMessageFormatterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlAttributeTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlDeclarationTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlDocumentTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlNodeTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlParseParameterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlParserTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlParserTestWrapperTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/xml/XmlReaderTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileOutputStreamTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileReaderTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/FileWriterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/StandardOutputWriterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/StorableFileTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/section-pair/SectionPairDocumentProvider.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/section-pair/SectionPairSectionProvider.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/section-pair/SerializableSectionPairRowProvider.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/xml/TestDataFactory.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/xml/XmlParserTestWrapper.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/MockFileExistenceEvaluator.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/io/MockFileReader.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_IO} PARENT_SCOPE)
+endfunction()
+
+function(collect_serialization_module_test_files placeholder)
+    set(UNIT_TEST_FILES_SERIALIZATION
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/serialization/JsonTest.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_SERIALIZATION} PARENT_SCOPE)
+endfunction()
+
+function(collect_time_module_test_files placeholder)
+    set(UNIT_TEST_FILES_TIME
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/common/DateParameterMapperTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/common/DateParameterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/system-time/SystemTimeParameterTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/system-time/SystemTimeTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/time/DateTest.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/time/system-time/MockClock.cpp)
+
+    set(${placeholder} ${UNIT_TEST_FILES_TIME} PARENT_SCOPE)
+endfunction()

+ 201 - 201
doc/coline.html

@@ -9,28 +9,28 @@
 <style>
 body
 {
-  background-color: #151517;
+  background-color: #ffffff;
   font-family: Arial, serif;
-  color: #727274;
+  color: #1a2a3f;
 }
 a.default_link_layout:link
 {
-  color: #727274;
+  color: #1a2a3f;
   text-decoration: none;
 }
 a.default_link_layout:visited
 {
-  color: #727274;
+  color: #1a2a3f;
   text-decoration: none;
 }
 a.default_link_layout:hover
 {
-  color: #4e4944;
+  color: #bc8003;
   text-decoration: none;
 }
 a.default_link_layout:active
 {
-  color: #4e4944;
+  color: #bc8003;
   text-decoration: none;
 }
 p.default_text
@@ -55,7 +55,7 @@ li.class_li
 </style>
 </head>
 <body>
-<h1>Lynar Studios - Standard Library - v2024.1.0.0 Documentation</h1>
+<h1>Lynar Studios - Standard Library - v1.0.1 Documentation</h1>
 <h2>Packages</h2>
 <ul id="package_list">
 <li class="package_li"><a class="default_link_layout" href="#package_boxing">boxing</a></li>
@@ -69,43 +69,43 @@ li.class_li
 <p class="default_text">This package provides functionalities for wrapping primitive datatypes (boolean, double, float, int, long, string). Wrapping those types would enable a developer to provide string representations, or parsing from strings to convert them back into their primitive forms. Additionally, these boxing types come with a great selection of operators and convenient functions.</p>
 <h4>Classes</h4>
 <ul id="boxing_class_list">
-<li class="class_li"><a class="default_link_layout" href="#boxing_integer">Integer</a></li>
 <li class="class_li"><a class="default_link_layout" href="#boxing_boolean">Boolean</a></li>
 <li class="class_li"><a class="default_link_layout" href="#boxing_double">Double</a></li>
 <li class="class_li"><a class="default_link_layout" href="#boxing_float">Float</a></li>
-<li class="class_li"><a class="default_link_layout" href="#boxing_string">String</a></li>
+<li class="class_li"><a class="default_link_layout" href="#boxing_integer">Integer</a></li>
 <li class="class_li"><a class="default_link_layout" href="#boxing_long">Long</a></li>
+<li class="class_li"><a class="default_link_layout" href="#boxing_string">String</a></li>
 </ul>
 <h3 id="package_core">core</h3>
 <p class="default_text">This package provides a base class, which can be used to provide simple class reflection. Other functionalities of this package include customized exceptions, basic interfaces and convenient types.</p>
 <h4>Classes</h4>
 <ul id="core_class_list">
 <li class="class_li"><a class="default_link_layout" href="#core_class">Class</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_conditionalfunctionexecutor">ConditionalFunctionExecutor</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_libraryversion">LibraryVersion</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_version">Version</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_conditionalfunctionexecutor">ConditionalFunctionExecutor</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_emptystringargumentevaluator">EmptyStringArgumentEvaluator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_indexoutofboundsevaluator">IndexOutOfBoundsEvaluator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_nullpointerargumentevaluator">NullPointerArgumentEvaluator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_nullpointerevaluator">NullPointerEvaluator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_rawnullpointerargumentevaluator">RawNullPointerArgumentEvaluator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_indexoutofboundsevaluator">IndexOutOfBoundsEvaluator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_emptystringargumentevaluator">EmptyStringArgumentEvaluator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_rawnullpointerevaluator">RawNullPointerEvaluator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_jnireturnvalue">JniReturnValue</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_jniclassparameter">JniClassParameter</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_jniapi">JniApi</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_jnimethod">JniMethod</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_jniclass">JniClass</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_nullpointerexception">NullPointerException</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_eventnothandledexception">EventNotHandledException</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_illegalargumentexception">IllegalArgumentException</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_exception">Exception</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_exceptionmessage">ExceptionMessage</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_filenotfoundexception">FileNotFoundException</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_fileoperationexception">FileOperationException</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_illegalargumentexception">IllegalArgumentException</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_illegalarithmeticoperationexception">IllegalArithmeticOperationException</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_filenotfoundexception">FileNotFoundException</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_incompletejsonexception">IncompleteJsonException</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_notimplementedexception">NotImplementedException</a></li>
 <li class="class_li"><a class="default_link_layout" href="#core_indexoutofboundsexception">IndexOutOfBoundsException</a></li>
-<li class="class_li"><a class="default_link_layout" href="#core_exception">Exception</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_notimplementedexception">NotImplementedException</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_nullpointerexception">NullPointerException</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_jniapi">JniApi</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_jniclass">JniClass</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_jniclassparameter">JniClassParameter</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_jnimethod">JniMethod</a></li>
+<li class="class_li"><a class="default_link_layout" href="#core_jnireturnvalue">JniReturnValue</a></li>
 </ul>
 <h3 id="package_encoding">encoding</h3>
 <p class="default_text">This package provides encoding functionalities, which in the current scope is limited to Base64. This would also include the provision of a Base-64-CLI-tool.</p>
@@ -126,54 +126,54 @@ li.class_li
 <p class="default_text">This package provides cross-platform functionalities for handling files, parsing and writing XML, logging, parsing and writing SP-files (.INI-based files).</p>
 <h4>Classes</h4>
 <ul id="io_class_list">
-<li class="class_li"><a class="default_link_layout" href="#io_filewriter">FileWriter</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_filepathseparatormatch">FilePathSeparatorMatch</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_file">File</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_fileoutputstream">FileOutputStream</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_storablefile">StorableFile</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_newline">NewLine</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_filepathseparator">FilePathSeparator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_filepathseparatormatch">FilePathSeparatorMatch</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_filereader">FileReader</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_file">File</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_filewriter">FileWriter</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_newline">NewLine</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_standardoutputwriter">StandardOutputWriter</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_filepathseparator">FilePathSeparator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_storablefile">StorableFile</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_fileexistenceevaluator">FileExistenceEvaluator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_logger">Logger</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_loglevel">LogLevel</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_sectionpairmessageformatter">SectionPairMessageFormatter</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairfilereaderparameter">SectionPairFileReaderParameter</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairfilereader">SectionPairFileReader</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairsectionargumentevaluator">SectionPairSectionArgumentEvaluator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairvalueargumentevaluator">SectionPairValueArgumentEvaluator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairidentifierargumentevaluator">SectionPairIdentifierArgumentEvaluator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowargumentevaluator">SectionPairRowArgumentEvaluator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowlistvalueargumentevaluator">SectionPairRowListValueArgumentEvaluator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowsinglevalueargumentevaluator">SectionPairRowSingleValueArgumentEvaluator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowargumentevaluator">SectionPairRowArgumentEvaluator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairidentifierargumentevaluator">SectionPairIdentifierArgumentEvaluator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairsectionargumentevaluator">SectionPairSectionArgumentEvaluator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairvalueargumentevaluator">SectionPairValueArgumentEvaluator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairdocument">SectionPairDocument</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrow">SectionPairRow</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowlistvalue">SectionPairRowListValue</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowsinglevalue">SectionPairRowSingleValue</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowvalue">SectionPairRowValue</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairsection">SectionPairSection</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairfilereader">SectionPairFileReader</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairfilereaderparameter">SectionPairFileReaderParameter</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairdocument">SerializableSectionPairDocument</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairparameter">SerializableSectionPairParameter</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairrow">SerializableSectionPairRow</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairrowlistvalue">SerializableSectionPairRowListValue</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairrowsinglevalue">SerializableSectionPairRowSingleValue</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairsection">SerializableSectionPairSection</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairdocumentvalidator">SectionPairDocumentValidator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairfileextensionvalidator">SectionPairFileExtensionValidator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_sectionpairidentifiervalidator">SectionPairIdentifierValidator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairsectionvalidator">SectionPairSectionValidator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowlistvaluevalidator">SectionPairRowListValueValidator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowsinglevaluevalidator">SectionPairRowSingleValueValidator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairdocumentvalidator">SectionPairDocumentValidator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairvaluevalidator">SectionPairValueValidator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairfileextensionvalidator">SectionPairFileExtensionValidator</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowvalidator">SectionPairRowValidator</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairsection">SerializableSectionPairSection</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairrowsinglevalue">SerializableSectionPairRowSingleValue</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairrow">SerializableSectionPairRow</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairrowlistvalue">SerializableSectionPairRowListValue</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairparameter">SerializableSectionPairParameter</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_serializablesectionpairdocument">SerializableSectionPairDocument</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowvalue">SectionPairRowValue</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairdocument">SectionPairDocument</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowlistvalue">SectionPairRowListValue</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrow">SectionPairRow</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairsection">SectionPairSection</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_sectionpairrowsinglevalue">SectionPairRowSingleValue</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairsectionvalidator">SectionPairSectionValidator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_sectionpairvaluevalidator">SectionPairValueValidator</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_xmlattribute">XmlAttribute</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_xmldeclaration">XmlDeclaration</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_xmlparser">XmlParser</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_xmlreader">XmlReader</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_xmldocument">XmlDocument</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_xmlattribute">XmlAttribute</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_xmlparseparameter">XmlParseParameter</a></li>
 <li class="class_li"><a class="default_link_layout" href="#io_xmlnode">XmlNode</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_logger">Logger</a></li>
-<li class="class_li"><a class="default_link_layout" href="#io_loglevel">LogLevel</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_xmlparseparameter">XmlParseParameter</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_xmlparser">XmlParser</a></li>
+<li class="class_li"><a class="default_link_layout" href="#io_xmlreader">XmlReader</a></li>
 </ul>
 <h3 id="package_time">time</h3>
 <p class="default_text">This package provides convenient time functionalities and data structures, like a Date class for representing a date or SystemTime for setting a systems local time.</p>
@@ -183,172 +183,182 @@ li.class_li
 <li class="class_li"><a class="default_link_layout" href="#time_dateparameter">DateParameter</a></li>
 <li class="class_li"><a class="default_link_layout" href="#time_dateparametermapper">DateParameterMapper</a></li>
 <li class="class_li"><a class="default_link_layout" href="#time_jnidateparametermapper">JniDateParameterMapper</a></li>
-<li class="class_li"><a class="default_link_layout" href="#time_systemtimeparameter">SystemTimeParameter</a></li>
 <li class="class_li"><a class="default_link_layout" href="#time_posixclock">PosixClock</a></li>
 <li class="class_li"><a class="default_link_layout" href="#time_systemtime">SystemTime</a></li>
+<li class="class_li"><a class="default_link_layout" href="#time_systemtimeparameter">SystemTimeParameter</a></li>
 <li class="class_li"><a class="default_link_layout" href="#time_windowsclock">WindowsClock</a></li>
 </ul>
 <h2>Classes</h2>
-<h3 id="io_filewriter">io.FileWriter</h3>
-<p class="default_text">This class can write to a file.</p>
-<h3 id="io_filepathseparatormatch">io.FilePathSeparatorMatch</h3>
-<p class="default_text">This class can filter file path separators.</p>
+<h3 id="boxing_boolean">boxing.Boolean</h3>
+<p class="default_text">This class represents the primitive datatype bool and provides functionalities for boolean expressions and string representation.</p>
+<h3 id="boxing_double">boxing.Double</h3>
+<p class="default_text">This class represents the primitive datatype double and provides functionalities for arithmetic operations, accuracy and string representation.</p>
+<h3 id="boxing_float">boxing.Float</h3>
+<p class="default_text">This class represents the primitive datatype float and provides functionalities for arithmetic operations, accuracy and string representation.</p>
+<h3 id="boxing_integer">boxing.Integer</h3>
+<p class="default_text">This class represents the primitive datatype int and provides functionalities for arithmetic operations and string representation.</p>
+<h3 id="boxing_long">boxing.Long</h3>
+<p class="default_text">This class represents the primitive datatype long and provides functionalities for arithmetic operations and string representation.</p>
+<h3 id="boxing_string">boxing.String</h3>
+<p class="default_text">This class represents a string and provides operations, like filling and searching.</p>
+<h3 id="core_class">core.Class</h3>
+<p class="default_text">This class represents a base class offering minimal reflection on the class name.</p>
+<h3 id="core_conditionalfunctionexecutor">core.ConditionalFunctionExecutor</h3>
+<p class="default_text">This class can execute any method matching a specific signature based on a specific condition.</p>
+<h3 id="core_libraryversion">core.LibraryVersion</h3>
+<p class="default_text">This class provides the version information of this library.</p>
+<h3 id="core_version">core.Version</h3>
+<p class="default_text">This class represents a semantic versioning scheme.</p>
+<h3 id="core_emptystringargumentevaluator">core.EmptyStringArgumentEvaluator</h3>
+<p class="default_text">This class evaluates whether a passed string is empty.</p>
+<h3 id="core_indexoutofboundsevaluator">core.IndexOutOfBoundsEvaluator</h3>
+<p class="default_text">This class evaluates whether a passed index is out of bounds.</p>
+<h3 id="core_nullpointerargumentevaluator">core.NullPointerArgumentEvaluator</h3>
+<p class="default_text">This class evaluates whether a passed shared pointer argument is null.</p>
+<h3 id="core_nullpointerevaluator">core.NullPointerEvaluator</h3>
+<p class="default_text">This class evaluates whether a passed shared pointer reference is null.</p>
+<h3 id="core_rawnullpointerargumentevaluator">core.RawNullPointerArgumentEvaluator</h3>
+<p class="default_text">This class evaluates whether a passed raw pointer argument is null.</p>
+<h3 id="core_rawnullpointerevaluator">core.RawNullPointerEvaluator</h3>
+<p class="default_text">This class evaluates whether a passed raw pointer reference is null.</p>
+<h3 id="core_eventnothandledexception">core.EventNotHandledException</h3>
+<p class="default_text">This exception can be thrown in case an event is not handled.</p>
+<h3 id="core_exception">core.Exception</h3>
+<p class="default_text">This a base exception that can be thrown in any scenario.</p>
+<h3 id="core_exceptionmessage">core.ExceptionMessage</h3>
+<p class="default_text">This is the message container being used by these libraries provided exceptions.</p>
+<h3 id="core_filenotfoundexception">core.FileNotFoundException</h3>
+<p class="default_text">This exception can be thrown in case a file could not be found.</p>
+<h3 id="core_fileoperationexception">core.FileOperationException</h3>
+<p class="default_text">This exception can be thrown in case a file could not be processed, like opened or being read.</p>
+<h3 id="core_illegalargumentexception">core.IllegalArgumentException</h3>
+<p class="default_text">This exception can be thrown in case a passed argument is illegal, which can be individually interpreted.</p>
+<h3 id="core_illegalarithmeticoperationexception">core.IllegalArithmeticOperationException</h3>
+<p class="default_text">This exception can be thrown in case an arithmetic operation is illegal. One example would be the division by zero.</p>
+<h3 id="core_incompletejsonexception">core.IncompleteJsonException</h3>
+<p class="default_text">This exception can be thrown when a passed JSON is incomplete - e.g. if a key is missing.</p>
+<h3 id="core_indexoutofboundsexception">core.IndexOutOfBoundsException</h3>
+<p class="default_text">This exception can be thrown in case an index of an array like structure is out of bounds.</p>
+<h3 id="core_notimplementedexception">core.NotImplementedException</h3>
+<p class="default_text">This exception can be thrown in case a called method is not implemented.</p>
+<h3 id="core_nullpointerexception">core.NullPointerException</h3>
+<p class="default_text">This exception can be thrown in case a called reference is null.</p>
+<h3 id="core_jniapi">core.JniApi</h3>
+<p class="default_text">This class represents an API for the Java Native Interface (JNI) wrapping basic JNI end points.</p>
+<h3 id="core_jniclass">core.JniClass</h3>
+<p class="default_text">This class represents a Java class within the Java Native Interface (JNI).</p>
+<h3 id="core_jniclassparameter">core.JniClassParameter</h3>
+<p class="default_text">This class holds important information for the usage of the Java Native Interface (JNI), like Java environment or a specific Java object.</p>
+<h3 id="core_jnimethod">core.JniMethod</h3>
+<p class="default_text">This class represents a class method within Java Native Interface (JNI) context.</p>
+<h3 id="core_jnireturnvalue">core.JniReturnValue</h3>
+<p class="default_text">This class represents a method return value of a Java class within Java Native Interface (JNI) context.</p>
+<h3 id="encoding_base64">encoding.Base64</h3>
+<p class="default_text">This class can encode and decode the Base64 format.</p>
+<h3 id="event_event">event.Event</h3>
+<p class="default_text">This class represents an event that can be invoked.</p>
+<h3 id="event_eventlistener">event.EventListener</h3>
+<p class="default_text">An instance of this class can listen to any event. Usually, this class is used as base class of any class that must listen to an event.</p>
+<h3 id="event_eventmanager">event.EventManager</h3>
+<p class="default_text">This class can invoke all events known by subscribed listeners.</p>
+<h3 id="event_eventparameter">event.EventParameter</h3>
+<p class="default_text">This class holds parameters which can be sent during event invocation.</p>
+<h3 id="io_file">io.File</h3>
+<p class="default_text">This class represents a file in the file system and provides functionalities for location, operations and fetching property information.</p>
 <h3 id="io_fileoutputstream">io.FileOutputStream</h3>
 <p class="default_text">This class can be used for writing to a file stream.</p>
-<h3 id="io_storablefile">io.StorableFile</h3>
-<p class="default_text">This class can be used to store any serialized information to a file.</p>
-<h3 id="io_newline">io.NewLine</h3>
-<p class="default_text">This class can be used as new line based on the preferred operating system. Currently, Windows and Unix-like operating systems are supported.</p>
+<h3 id="io_filepathseparator">io.FilePathSeparator</h3>
+<p class="default_text">This class represents the OS specific separator withing file paths on either Windows- or Unix-like operating systems.</p>
+<h3 id="io_filepathseparatormatch">io.FilePathSeparatorMatch</h3>
+<p class="default_text">This class can filter file path separators.</p>
 <h3 id="io_filereader">io.FileReader</h3>
 <p class="default_text">This class can read the content of a file and return it as byte field.</p>
-<h3 id="io_file">io.File</h3>
-<p class="default_text">This class represents a file in the file system and provides functionalities for location, operations and fetching property information.</p>
+<h3 id="io_filewriter">io.FileWriter</h3>
+<p class="default_text">This class can write to a file.</p>
+<h3 id="io_newline">io.NewLine</h3>
+<p class="default_text">This class can be used as new line based on the preferred operating system. Currently, Windows and Unix-like operating systems are supported.</p>
 <h3 id="io_standardoutputwriter">io.StandardOutputWriter</h3>
 <p class="default_text">This class can be used to write a string to stdout.</p>
-<h3 id="io_filepathseparator">io.FilePathSeparator</h3>
-<p class="default_text">This class represents the OS specific separator withing file paths on either Windows- or Unix-like operating systems.</p>
+<h3 id="io_storablefile">io.StorableFile</h3>
+<p class="default_text">This class can be used to store any serialized information to a file.</p>
 <h3 id="io_fileexistenceevaluator">io.FileExistenceEvaluator</h3>
 <p class="default_text">This class evaluates whether a file exists and throws an exception in case it does not.</p>
+<h3 id="io_logger">io.Logger</h3>
+<p class="default_text">This is a logger which can log to any implemented target.</p>
+<h3 id="io_loglevel">io.LogLevel</h3>
+<p class="default_text">This class represents the log level controlling how noisy a log should be.</p>
 <h3 id="io_sectionpairmessageformatter">io.SectionPairMessageFormatter</h3>
 <p class="default_text">This message formatter replaces new line sequences, which are OS specific, to a readable tag for error message formatting.</p>
-<h3 id="io_sectionpairfilereaderparameter">io.SectionPairFileReaderParameter</h3>
-<p class="default_text">This class holds evaluators and the document instance for Section Pair file reading.</p>
-<h3 id="io_sectionpairfilereader">io.SectionPairFileReader</h3>
-<p class="default_text">This class reads a Section Pair file and writes it to a Section Pair document instance.</p>
-<h3 id="io_sectionpairsectionargumentevaluator">io.SectionPairSectionArgumentEvaluator</h3>
-<p class="default_text">This class checks whether a whole section argument is valid and throws an exception if that is not the case.</p>
-<h3 id="io_sectionpairvalueargumentevaluator">io.SectionPairValueArgumentEvaluator</h3>
-<p class="default_text">This class checks whether a value argument is valid and throws an exception if that is not the case.</p>
+<h3 id="io_sectionpairidentifierargumentevaluator">io.SectionPairIdentifierArgumentEvaluator</h3>
+<p class="default_text">This class checks whether an identifier argument is valid and throws an exception if that is not the case.</p>
+<h3 id="io_sectionpairrowargumentevaluator">io.SectionPairRowArgumentEvaluator</h3>
+<p class="default_text">This class checks whether a row argument is valid and throws an exception if that is not the case.</p>
 <h3 id="io_sectionpairrowlistvalueargumentevaluator">io.SectionPairRowListValueArgumentEvaluator</h3>
 <p class="default_text">This class checks whether a row list value argument is valid and throws an exception if that is not the case.</p>
 <h3 id="io_sectionpairrowsinglevalueargumentevaluator">io.SectionPairRowSingleValueArgumentEvaluator</h3>
 <p class="default_text">This class checks whether a single row value argument is valid and throws an exception if that is not the case.</p>
-<h3 id="io_sectionpairrowargumentevaluator">io.SectionPairRowArgumentEvaluator</h3>
-<p class="default_text">This class checks whether a row argument is valid and throws an exception if that is not the case.</p>
-<h3 id="io_sectionpairidentifierargumentevaluator">io.SectionPairIdentifierArgumentEvaluator</h3>
-<p class="default_text">This class checks whether an identifier argument is valid and throws an exception if that is not the case.</p>
+<h3 id="io_sectionpairsectionargumentevaluator">io.SectionPairSectionArgumentEvaluator</h3>
+<p class="default_text">This class checks whether a whole section argument is valid and throws an exception if that is not the case.</p>
+<h3 id="io_sectionpairvalueargumentevaluator">io.SectionPairValueArgumentEvaluator</h3>
+<p class="default_text">This class checks whether a value argument is valid and throws an exception if that is not the case.</p>
+<h3 id="io_sectionpairdocument">io.SectionPairDocument</h3>
+<p class="default_text">This class represents a whole Section Pair document.</p>
+<h3 id="io_sectionpairrow">io.SectionPairRow</h3>
+<p class="default_text">This class represents a Section Pair row.</p>
+<h3 id="io_sectionpairrowlistvalue">io.SectionPairRowListValue</h3>
+<p class="default_text">This class represents a Section Pair row list value.</p>
+<h3 id="io_sectionpairrowsinglevalue">io.SectionPairRowSingleValue</h3>
+<p class="default_text">This class represents a Section Pair row single value.</p>
+<h3 id="io_sectionpairrowvalue">io.SectionPairRowValue</h3>
+<p class="default_text">This class represents a Section Pair row value.</p>
+<h3 id="io_sectionpairsection">io.SectionPairSection</h3>
+<p class="default_text">This class represents a Section Pair section.</p>
+<h3 id="io_sectionpairfilereader">io.SectionPairFileReader</h3>
+<p class="default_text">This class reads a Section Pair file and writes it to a Section Pair document instance.</p>
+<h3 id="io_sectionpairfilereaderparameter">io.SectionPairFileReaderParameter</h3>
+<p class="default_text">This class holds evaluators and the document instance for Section Pair file reading.</p>
+<h3 id="io_serializablesectionpairdocument">io.SerializableSectionPairDocument</h3>
+<p class="default_text">This class can serialize a Section Pair document for file persistence.</p>
+<h3 id="io_serializablesectionpairparameter">io.SerializableSectionPairParameter</h3>
+<p class="default_text">This class is holding information for Section Pair serialization.</p>
+<h3 id="io_serializablesectionpairrow">io.SerializableSectionPairRow</h3>
+<p class="default_text">This class can serialize a Section Pair row for file persistence.</p>
+<h3 id="io_serializablesectionpairrowlistvalue">io.SerializableSectionPairRowListValue</h3>
+<p class="default_text">This class can serialize a Section Pair row list value for file persistence.</p>
+<h3 id="io_serializablesectionpairrowsinglevalue">io.SerializableSectionPairRowSingleValue</h3>
+<p class="default_text">This class can serialize a Section Pair single value for file persistence.</p>
+<h3 id="io_serializablesectionpairsection">io.SerializableSectionPairSection</h3>
+<p class="default_text">This class can serialize a Section Pair section for file persistence.</p>
+<h3 id="io_sectionpairdocumentvalidator">io.SectionPairDocumentValidator</h3>
+<p class="default_text">This validator checks whether a content is a valid Section Pair document.</p>
+<h3 id="io_sectionpairfileextensionvalidator">io.SectionPairFileExtensionValidator</h3>
+<p class="default_text">This validator checks whether a file name has a valid Section Pair file extension.</p>
 <h3 id="io_sectionpairidentifiervalidator">io.SectionPairIdentifierValidator</h3>
 <p class="default_text">This validator checks whether a string is a valid Section Pair identifier.</p>
-<h3 id="io_sectionpairsectionvalidator">io.SectionPairSectionValidator</h3>
-<p class="default_text">This validator checks whether a content is a valid Section Pair section.</p>
 <h3 id="io_sectionpairrowlistvaluevalidator">io.SectionPairRowListValueValidator</h3>
 <p class="default_text">This validator checks whether a content is a valid Section Pair row list value.</p>
 <h3 id="io_sectionpairrowsinglevaluevalidator">io.SectionPairRowSingleValueValidator</h3>
 <p class="default_text">This validator checks whether a content is a valid Section Pair row single value.</p>
-<h3 id="io_sectionpairdocumentvalidator">io.SectionPairDocumentValidator</h3>
-<p class="default_text">This validator checks whether a content is a valid Section Pair document.</p>
-<h3 id="io_sectionpairvaluevalidator">io.SectionPairValueValidator</h3>
-<p class="default_text">This validator checks whether a content is a valid Section Pair value.</p>
-<h3 id="io_sectionpairfileextensionvalidator">io.SectionPairFileExtensionValidator</h3>
-<p class="default_text">This validator checks whether a file name has a valid Section Pair file extension.</p>
 <h3 id="io_sectionpairrowvalidator">io.SectionPairRowValidator</h3>
 <p class="default_text">This validator checks whether a content is a valid Section Pair row.</p>
-<h3 id="io_serializablesectionpairsection">io.SerializableSectionPairSection</h3>
-<p class="default_text">This class can serialize a Section Pair section for file persistence.</p>
-<h3 id="io_serializablesectionpairrowsinglevalue">io.SerializableSectionPairRowSingleValue</h3>
-<p class="default_text">This class can serialize a Section Pair single value for file persistence.</p>
-<h3 id="io_serializablesectionpairrow">io.SerializableSectionPairRow</h3>
-<p class="default_text">This class can serialize a Section Pair row for file persistence.</p>
-<h3 id="io_serializablesectionpairrowlistvalue">io.SerializableSectionPairRowListValue</h3>
-<p class="default_text">This class can serialize a Section Pair row list value for file persistence.</p>
-<h3 id="io_serializablesectionpairparameter">io.SerializableSectionPairParameter</h3>
-<p class="default_text">This class is holding information for Section Pair serialization.</p>
-<h3 id="io_serializablesectionpairdocument">io.SerializableSectionPairDocument</h3>
-<p class="default_text">This class can serialize a Section Pair document for file persistence.</p>
-<h3 id="io_sectionpairrowvalue">io.SectionPairRowValue</h3>
-<p class="default_text">This class represents a Section Pair row value.</p>
-<h3 id="io_sectionpairdocument">io.SectionPairDocument</h3>
-<p class="default_text">This class represents a whole Section Pair document.</p>
-<h3 id="io_sectionpairrowlistvalue">io.SectionPairRowListValue</h3>
-<p class="default_text">This class represents a Section Pair row list value.</p>
-<h3 id="io_sectionpairrow">io.SectionPairRow</h3>
-<p class="default_text">This class represents a Section Pair row.</p>
-<h3 id="io_sectionpairsection">io.SectionPairSection</h3>
-<p class="default_text">This class represents a Section Pair section.</p>
-<h3 id="io_sectionpairrowsinglevalue">io.SectionPairRowSingleValue</h3>
-<p class="default_text">This class represents a Section Pair row single value.</p>
+<h3 id="io_sectionpairsectionvalidator">io.SectionPairSectionValidator</h3>
+<p class="default_text">This validator checks whether a content is a valid Section Pair section.</p>
+<h3 id="io_sectionpairvaluevalidator">io.SectionPairValueValidator</h3>
+<p class="default_text">This validator checks whether a content is a valid Section Pair value.</p>
+<h3 id="io_xmlattribute">io.XmlAttribute</h3>
+<p class="default_text">This class represents an XML attribute and can be serialized to an XML tag.</p>
 <h3 id="io_xmldeclaration">io.XmlDeclaration</h3>
 <p class="default_text">This class represents an XML declaration and can be serialized to an XML tag.</p>
-<h3 id="io_xmlparser">io.XmlParser</h3>
-<p class="default_text">This class parses a whole XML tree in form of an XML document.</p>
-<h3 id="io_xmlreader">io.XmlReader</h3>
-<p class="default_text">This class reads an XML file and returns an XML document.</p>
 <h3 id="io_xmldocument">io.XmlDocument</h3>
 <p class="default_text">This class represents a whole XML document and can be serialized to a whole XML tree.</p>
-<h3 id="io_xmlattribute">io.XmlAttribute</h3>
-<p class="default_text">This class represents an XML attribute and can be serialized to an XML tag.</p>
-<h3 id="io_xmlparseparameter">io.XmlParseParameter</h3>
-<p class="default_text">This class holds information regarding parsing an XML tree.</p>
 <h3 id="io_xmlnode">io.XmlNode</h3>
 <p class="default_text">This class represents an XML node and can be serialized to an XML tree.</p>
-<h3 id="io_logger">io.Logger</h3>
-<p class="default_text">This is a logger which can log to any implemented target.</p>
-<h3 id="io_loglevel">io.LogLevel</h3>
-<p class="default_text">This class represents the log level controlling how noisy a log should be.</p>
-<h3 id="core_class">core.Class</h3>
-<p class="default_text">This class represents a base class offering minimal reflection on the class name.</p>
-<h3 id="core_libraryversion">core.LibraryVersion</h3>
-<p class="default_text">This class provides the version information of this library.</p>
-<h3 id="core_version">core.Version</h3>
-<p class="default_text">This class represents a semantic versioning scheme.</p>
-<h3 id="core_conditionalfunctionexecutor">core.ConditionalFunctionExecutor</h3>
-<p class="default_text">This class can execute any method matching a specific signature based on a specific condition.</p>
-<h3 id="core_nullpointerargumentevaluator">core.NullPointerArgumentEvaluator</h3>
-<p class="default_text">This class evaluates whether a passed shared pointer argument is null.</p>
-<h3 id="core_nullpointerevaluator">core.NullPointerEvaluator</h3>
-<p class="default_text">This class evaluates whether a passed shared pointer reference is null.</p>
-<h3 id="core_rawnullpointerargumentevaluator">core.RawNullPointerArgumentEvaluator</h3>
-<p class="default_text">This class evaluates whether a passed raw pointer argument is null.</p>
-<h3 id="core_indexoutofboundsevaluator">core.IndexOutOfBoundsEvaluator</h3>
-<p class="default_text">This class evaluates whether a passed index is out of bounds.</p>
-<h3 id="core_emptystringargumentevaluator">core.EmptyStringArgumentEvaluator</h3>
-<p class="default_text">This class evaluates whether a passed string is empty.</p>
-<h3 id="core_rawnullpointerevaluator">core.RawNullPointerEvaluator</h3>
-<p class="default_text">This class evaluates whether a passed raw pointer reference is null.</p>
-<h3 id="core_jnireturnvalue">core.JniReturnValue</h3>
-<p class="default_text">This class represents a method return value of a Java class within Java Native Interface (JNI) context.</p>
-<h3 id="core_jniclassparameter">core.JniClassParameter</h3>
-<p class="default_text">This class holds important information for the usage of the Java Native Interface (JNI), like Java environment or a specific Java object.</p>
-<h3 id="core_jniapi">core.JniApi</h3>
-<p class="default_text">This class represents an API for the Java Native Interface (JNI) wrapping basic JNI end points.</p>
-<h3 id="core_jnimethod">core.JniMethod</h3>
-<p class="default_text">This class represents a class method within Java Native Interface (JNI) context.</p>
-<h3 id="core_jniclass">core.JniClass</h3>
-<p class="default_text">This class represents a Java class within the Java Native Interface (JNI).</p>
-<h3 id="core_nullpointerexception">core.NullPointerException</h3>
-<p class="default_text">This exception can be thrown in case a called reference is null.</p>
-<h3 id="core_eventnothandledexception">core.EventNotHandledException</h3>
-<p class="default_text">This exception can be thrown in case an event is not handled.</p>
-<h3 id="core_illegalargumentexception">core.IllegalArgumentException</h3>
-<p class="default_text">This exception can be thrown in case a passed argument is illegal, which can be individually interpreted.</p>
-<h3 id="core_exceptionmessage">core.ExceptionMessage</h3>
-<p class="default_text">This is the message container being used by these libraries provided exceptions.</p>
-<h3 id="core_fileoperationexception">core.FileOperationException</h3>
-<p class="default_text">This exception can be thrown in case a file could not be processed, like opened or being read.</p>
-<h3 id="core_illegalarithmeticoperationexception">core.IllegalArithmeticOperationException</h3>
-<p class="default_text">This exception can be thrown in case an arithmetic operation is illegal. One example would be the division by zero.</p>
-<h3 id="core_filenotfoundexception">core.FileNotFoundException</h3>
-<p class="default_text">This exception can be thrown in case a file could not be found.</p>
-<h3 id="core_incompletejsonexception">core.IncompleteJsonException</h3>
-<p class="default_text">This exception can be thrown when a passed JSON is incomplete - e.g. if a key is missing.</p>
-<h3 id="core_notimplementedexception">core.NotImplementedException</h3>
-<p class="default_text">This exception can be thrown in case a called method is not implemented.</p>
-<h3 id="core_indexoutofboundsexception">core.IndexOutOfBoundsException</h3>
-<p class="default_text">This exception can be thrown in case an index of an array like structure is out of bounds.</p>
-<h3 id="core_exception">core.Exception</h3>
-<p class="default_text">This a base exception that can be thrown in any scenario.</p>
-<h3 id="boxing_integer">boxing.Integer</h3>
-<p class="default_text">This class represents the primitive datatype int and provides functionalities for arithmetic operations and string representation.</p>
-<h3 id="boxing_boolean">boxing.Boolean</h3>
-<p class="default_text">This class represents the primitive datatype bool and provides functionalities for boolean expressions and string representation.</p>
-<h3 id="boxing_double">boxing.Double</h3>
-<p class="default_text">This class represents the primitive datatype double and provides functionalities for arithmetic operations, accuracy and string representation.</p>
-<h3 id="boxing_float">boxing.Float</h3>
-<p class="default_text">This class represents the primitive datatype float and provides functionalities for arithmetic operations, accuracy and string representation.</p>
-<h3 id="boxing_string">boxing.String</h3>
-<p class="default_text">This class represents a string and provides operations, like filling and searching.</p>
-<h3 id="boxing_long">boxing.Long</h3>
-<p class="default_text">This class represents the primitive datatype long and provides functionalities for arithmetic operations and string representation.</p>
+<h3 id="io_xmlparseparameter">io.XmlParseParameter</h3>
+<p class="default_text">This class holds information regarding parsing an XML tree.</p>
+<h3 id="io_xmlparser">io.XmlParser</h3>
+<p class="default_text">This class parses a whole XML tree in form of an XML document.</p>
+<h3 id="io_xmlreader">io.XmlReader</h3>
+<p class="default_text">This class reads an XML file and returns an XML document.</p>
 <h3 id="time_date">time.Date</h3>
 <p class="default_text">This class represents a date and provides functionalities for string representation, arithmetic operations and time comparison.</p>
 <h3 id="time_dateparameter">time.DateParameter</h3>
@@ -357,23 +367,13 @@ li.class_li
 <p class="default_text">This class maps date information to either an internal POSIX clock or an internal Windows clock, which can then be processed for setting the system time.</p>
 <h3 id="time_jnidateparametermapper">time.JniDateParameterMapper</h3>
 <p class="default_text">This mapper is converting a date Java class to a date model class of this library.</p>
-<h3 id="time_systemtimeparameter">time.SystemTimeParameter</h3>
-<p class="default_text">This class holds information for setting the system time.</p>
 <h3 id="time_posixclock">time.PosixClock</h3>
 <p class="default_text">This is a POSIX based internal time.</p>
 <h3 id="time_systemtime">time.SystemTime</h3>
 <p class="default_text">This class represents the system time and can be set. This would require root privileges.</p>
+<h3 id="time_systemtimeparameter">time.SystemTimeParameter</h3>
+<p class="default_text">This class holds information for setting the system time.</p>
 <h3 id="time_windowsclock">time.WindowsClock</h3>
 <p class="default_text">This is a Windows based internal time.</p>
-<h3 id="encoding_base64">encoding.Base64</h3>
-<p class="default_text">This class can encode and decode the Base64 format.</p>
-<h3 id="event_event">event.Event</h3>
-<p class="default_text">This class represents an event that can be invoked.</p>
-<h3 id="event_eventlistener">event.EventListener</h3>
-<p class="default_text">An instance of this class can listen to any event. Usually, this class is used as base class of any class that must listen to an event.</p>
-<h3 id="event_eventmanager">event.EventManager</h3>
-<p class="default_text">This class can invoke all events known by subscribed listeners.</p>
-<h3 id="event_eventparameter">event.EventParameter</h3>
-<p class="default_text">This class holds parameters which can be sent during event invocation.</p>
 </body>
 </html>

+ 1 - 1
doc/internal/coding-guidelines.md

@@ -28,4 +28,4 @@ The following naming conventions must be met for code contribution:
 
 The following source code creation guidelines must be followed:
 
-1. In source code (.cpp files) namespaces must not be used throughout the code and must be announced through the __using__ keyword after the imports (e.g. using ls::std::boxing::Integer). The only exception is when the same class name is being used in more than one namespace.
+1. In source code (.cpp files) namespaces must not be used throughout the code and must be announced through the __using__ keyword after the imports (e.g. using ls::standard::boxing::Integer). The only exception is when the same class name is being used in more than one namespace.

+ 13 - 12
include/ls-std/boxing/Boolean.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-09
- * Changed:         2024-09-09
+ * Changed:         2026-06-23
  *
  * */
 
@@ -21,9 +22,9 @@
  * @doc: boxing.Boolean.description('This class represents the primitive datatype bool and provides functionalities for boolean expressions and string representation.')
  * */
 
-namespace ls::std::boxing
+namespace ls::standard::boxing
 {
-  class LS_STD_DYNAMIC_GOAL Boolean : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+  class LS_STD_DYNAMIC_GOAL Boolean : public ls::standard::core::Class, public ls::standard::core::interface_type::IBoxing
   {
     public:
 
@@ -33,12 +34,12 @@ namespace ls::std::boxing
 
       // assignment operators
 
-      ls::std::boxing::Boolean &operator=(int _value);
-      ls::std::boxing::Boolean &operator=(bool _value);
+      ls::standard::boxing::Boolean &operator=(int _value);
+      ls::standard::boxing::Boolean &operator=(bool _value);
 
       // stream operators
 
-      friend ::std::ostream &operator<<(::std::ostream &_outputStream, const ls::std::boxing::Boolean &_boolean)
+      friend ::std::ostream &operator<<(::std::ostream &_outputStream, const ls::standard::boxing::Boolean &_boolean)
       {
         _outputStream << _boolean._toString();
         return _outputStream;
@@ -46,15 +47,15 @@ namespace ls::std::boxing
 
       // logical operators
 
-      friend bool operator!(const ls::std::boxing::Boolean &_boolean)
+      friend bool operator!(const ls::standard::boxing::Boolean &_boolean)
       {
         return !_boolean.value;
       }
 
-      bool operator&&(const ls::std::boxing::Boolean &_boolean) const;
+      bool operator&&(const ls::standard::boxing::Boolean &_boolean) const;
       bool operator&&(bool _value) const;
       bool operator&&(int _value) const;
-      bool operator||(const ls::std::boxing::Boolean &_boolean) const;
+      bool operator||(const ls::standard::boxing::Boolean &_boolean) const;
       bool operator||(bool _value) const;
       bool operator||(int _value) const;
       // INFO: operator ^ can not be taken for XOR, since it's not possible to implement it respecting commutative law
@@ -67,9 +68,9 @@ namespace ls::std::boxing
       // additional functionality
 
       [[nodiscard]] bool getValue() const;
-      [[nodiscard]] static bool XOR(const ls::std::boxing::Boolean &_leftExpression, const ls::std::boxing::Boolean &_rightExpression);
-      [[nodiscard]] static bool XOR(const ls::std::boxing::Boolean &_leftExpression, bool _rightExpression);
-      [[nodiscard]] static bool XOR(bool _leftExpression, const ls::std::boxing::Boolean &_rightExpression);
+      [[nodiscard]] static bool XOR(const ls::standard::boxing::Boolean &_leftExpression, const ls::standard::boxing::Boolean &_rightExpression);
+      [[nodiscard]] static bool XOR(const ls::standard::boxing::Boolean &_leftExpression, bool _rightExpression);
+      [[nodiscard]] static bool XOR(bool _leftExpression, const ls::standard::boxing::Boolean &_rightExpression);
       [[nodiscard]] static bool XOR(bool _leftExpression, bool _rightExpression);
 
     private:

+ 23 - 22
include/ls-std/boxing/Double.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-14
- * Changed:         2024-09-09
+ * Changed:         2026-06-23
  *
  * */
 
@@ -20,9 +21,9 @@
  * @doc: boxing.Double.description('This class represents the primitive datatype double and provides functionalities for arithmetic operations, accuracy and string representation.')
  * */
 
-namespace ls::std::boxing
+namespace ls::standard::boxing
 {
-  class LS_STD_DYNAMIC_GOAL Double : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+  class LS_STD_DYNAMIC_GOAL Double : public ls::standard::core::Class, public ls::standard::core::interface_type::IBoxing
   {
     public:
 
@@ -32,44 +33,44 @@ namespace ls::std::boxing
 
       // assignment operators
 
-      ls::std::boxing::Double &operator=(double _value);
+      ls::standard::boxing::Double &operator=(double _value);
 
       // arithmetic operators
 
       double operator-() const;
-      double operator+(const ls::std::boxing::Double &_double) const;
+      double operator+(const ls::standard::boxing::Double &_double) const;
       double operator+(double _value) const;
-      double operator*(const ls::std::boxing::Double &_double) const;
+      double operator*(const ls::standard::boxing::Double &_double) const;
       double operator*(double _value) const;
-      double operator-(const ls::std::boxing::Double &_double) const;
+      double operator-(const ls::standard::boxing::Double &_double) const;
       double operator-(double _value) const;
-      double operator/(const ls::std::boxing::Double &_double) const;
+      double operator/(const ls::standard::boxing::Double &_double) const;
       double operator/(double _value) const;
 
       // compound operators
 
-      ls::std::boxing::Double &operator+=(const ls::std::boxing::Double &_double);
-      ls::std::boxing::Double &operator+=(double _value);
-      ls::std::boxing::Double &operator-=(const ls::std::boxing::Double &_double);
-      ls::std::boxing::Double &operator-=(double _value);
-      ls::std::boxing::Double &operator*=(const ls::std::boxing::Double &_double);
-      ls::std::boxing::Double &operator*=(double _value);
-      ls::std::boxing::Double &operator/=(const ls::std::boxing::Double &_double);
-      ls::std::boxing::Double &operator/=(double _value);
+      ls::standard::boxing::Double &operator+=(const ls::standard::boxing::Double &_double);
+      ls::standard::boxing::Double &operator+=(double _value);
+      ls::standard::boxing::Double &operator-=(const ls::standard::boxing::Double &_double);
+      ls::standard::boxing::Double &operator-=(double _value);
+      ls::standard::boxing::Double &operator*=(const ls::standard::boxing::Double &_double);
+      ls::standard::boxing::Double &operator*=(double _value);
+      ls::standard::boxing::Double &operator/=(const ls::standard::boxing::Double &_double);
+      ls::standard::boxing::Double &operator/=(double _value);
 
       // comparison operators
 
-      bool operator==(const ls::std::boxing::Double &_double) const;
+      bool operator==(const ls::standard::boxing::Double &_double) const;
       bool operator==(double _value) const;
-      bool operator!=(const ls::std::boxing::Double &_double) const;
+      bool operator!=(const ls::standard::boxing::Double &_double) const;
       bool operator!=(double _value) const;
-      bool operator>(const ls::std::boxing::Double &_double) const;
+      bool operator>(const ls::standard::boxing::Double &_double) const;
       bool operator>(double _value) const;
-      bool operator>=(const ls::std::boxing::Double &_double) const;
+      bool operator>=(const ls::standard::boxing::Double &_double) const;
       bool operator>=(double _value) const;
-      bool operator<(const ls::std::boxing::Double &_double) const;
+      bool operator<(const ls::standard::boxing::Double &_double) const;
       bool operator<(double _value) const;
-      bool operator<=(const ls::std::boxing::Double &_double) const;
+      bool operator<=(const ls::standard::boxing::Double &_double) const;
       bool operator<=(double _value) const;
 
       // increment / decrement operator

+ 23 - 22
include/ls-std/boxing/Float.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-14
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -21,9 +22,9 @@
  * @doc: boxing.Float.description('This class represents the primitive datatype float and provides functionalities for arithmetic operations, accuracy and string representation.')
  * */
 
-namespace ls::std::boxing
+namespace ls::standard::boxing
 {
-  class LS_STD_DYNAMIC_GOAL Float : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+  class LS_STD_DYNAMIC_GOAL Float : public ls::standard::core::Class, public ls::standard::core::interface_type::IBoxing
   {
     public:
 
@@ -33,44 +34,44 @@ namespace ls::std::boxing
 
       // assignment operators
 
-      ls::std::boxing::Float &operator=(float _value);
+      ls::standard::boxing::Float &operator=(float _value);
 
       // arithmetic operators
 
       float operator-() const;
-      float operator+(const ls::std::boxing::Float &_float) const;
+      float operator+(const ls::standard::boxing::Float &_float) const;
       float operator+(float _value) const;
-      float operator*(const ls::std::boxing::Float &_float) const;
+      float operator*(const ls::standard::boxing::Float &_float) const;
       float operator*(float _value) const;
-      float operator-(const ls::std::boxing::Float &_float) const;
+      float operator-(const ls::standard::boxing::Float &_float) const;
       float operator-(float _value) const;
-      float operator/(const ls::std::boxing::Float &_float) const;
+      float operator/(const ls::standard::boxing::Float &_float) const;
       float operator/(float _value) const;
 
       // compound operators
 
-      ls::std::boxing::Float &operator+=(const ls::std::boxing::Float &_float);
-      ls::std::boxing::Float &operator+=(float _value);
-      ls::std::boxing::Float &operator-=(const ls::std::boxing::Float &_float);
-      ls::std::boxing::Float &operator-=(float _value);
-      ls::std::boxing::Float &operator*=(const ls::std::boxing::Float &_float);
-      ls::std::boxing::Float &operator*=(float _value);
-      ls::std::boxing::Float &operator/=(const ls::std::boxing::Float &_float);
-      ls::std::boxing::Float &operator/=(float _value);
+      ls::standard::boxing::Float &operator+=(const ls::standard::boxing::Float &_float);
+      ls::standard::boxing::Float &operator+=(float _value);
+      ls::standard::boxing::Float &operator-=(const ls::standard::boxing::Float &_float);
+      ls::standard::boxing::Float &operator-=(float _value);
+      ls::standard::boxing::Float &operator*=(const ls::standard::boxing::Float &_float);
+      ls::standard::boxing::Float &operator*=(float _value);
+      ls::standard::boxing::Float &operator/=(const ls::standard::boxing::Float &_float);
+      ls::standard::boxing::Float &operator/=(float _value);
 
       // comparison operators
 
-      bool operator==(const ls::std::boxing::Float &_float) const;
+      bool operator==(const ls::standard::boxing::Float &_float) const;
       bool operator==(float _value) const;
-      bool operator!=(const ls::std::boxing::Float &_float) const;
+      bool operator!=(const ls::standard::boxing::Float &_float) const;
       bool operator!=(float _value) const;
-      bool operator>(const ls::std::boxing::Float &_float) const;
+      bool operator>(const ls::standard::boxing::Float &_float) const;
       bool operator>(float _value) const;
-      bool operator>=(const ls::std::boxing::Float &_float) const;
+      bool operator>=(const ls::standard::boxing::Float &_float) const;
       bool operator>=(float _value) const;
-      bool operator<(const ls::std::boxing::Float &_float) const;
+      bool operator<(const ls::standard::boxing::Float &_float) const;
       bool operator<(float _value) const;
-      bool operator<=(const ls::std::boxing::Float &_float) const;
+      bool operator<=(const ls::standard::boxing::Float &_float) const;
       bool operator<=(float _value) const;
 
       // increment / decrement operator

+ 25 - 24
include/ls-std/boxing/Integer.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -20,9 +21,9 @@
  * @doc: boxing.Integer.description('This class represents the primitive datatype int and provides functionalities for arithmetic operations and string representation.')
  * */
 
-namespace ls::std::boxing
+namespace ls::standard::boxing
 {
-  class LS_STD_DYNAMIC_GOAL Integer : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+  class LS_STD_DYNAMIC_GOAL Integer : public ls::standard::core::Class, public ls::standard::core::interface_type::IBoxing
   {
     public:
 
@@ -32,51 +33,51 @@ namespace ls::std::boxing
 
       // assignment operators
 
-      ls::std::boxing::Integer &operator=(int _value);
+      ls::standard::boxing::Integer &operator=(int _value);
 
       // arithmetic operators
 
       int operator-() const;
-      int operator+(const ls::std::boxing::Integer &_integer) const;
+      int operator+(const ls::standard::boxing::Integer &_integer) const;
       int operator+(int _value) const;
-      int operator*(const ls::std::boxing::Integer &_integer) const;
+      int operator*(const ls::standard::boxing::Integer &_integer) const;
       int operator*(int _value) const;
-      int operator-(const ls::std::boxing::Integer &_integer) const;
+      int operator-(const ls::standard::boxing::Integer &_integer) const;
       int operator-(int _value) const;
-      int operator/(const ls::std::boxing::Integer &_integer) const;
+      int operator/(const ls::standard::boxing::Integer &_integer) const;
       int operator/(int _value) const;
-      int operator%(const ls::std::boxing::Integer &_integer) const;
+      int operator%(const ls::standard::boxing::Integer &_integer) const;
       int operator%(int _value) const;
 
       // compound operators
 
-      ls::std::boxing::Integer &operator+=(const ls::std::boxing::Integer &_integer);
-      ls::std::boxing::Integer &operator+=(int _value);
-      ls::std::boxing::Integer &operator-=(const ls::std::boxing::Integer &_integer);
-      ls::std::boxing::Integer &operator-=(int _value);
-      ls::std::boxing::Integer &operator*=(const ls::std::boxing::Integer &_integer);
-      ls::std::boxing::Integer &operator*=(int _value);
-      ls::std::boxing::Integer &operator/=(const ls::std::boxing::Integer &_integer);
-      ls::std::boxing::Integer &operator/=(int _value);
+      ls::standard::boxing::Integer &operator+=(const ls::standard::boxing::Integer &_integer);
+      ls::standard::boxing::Integer &operator+=(int _value);
+      ls::standard::boxing::Integer &operator-=(const ls::standard::boxing::Integer &_integer);
+      ls::standard::boxing::Integer &operator-=(int _value);
+      ls::standard::boxing::Integer &operator*=(const ls::standard::boxing::Integer &_integer);
+      ls::standard::boxing::Integer &operator*=(int _value);
+      ls::standard::boxing::Integer &operator/=(const ls::standard::boxing::Integer &_integer);
+      ls::standard::boxing::Integer &operator/=(int _value);
 
       // comparison operators
 
-      bool operator==(const ls::std::boxing::Integer &_integer) const;
+      bool operator==(const ls::standard::boxing::Integer &_integer) const;
       bool operator==(int _value) const;
-      bool operator!=(const ls::std::boxing::Integer &_integer) const;
+      bool operator!=(const ls::standard::boxing::Integer &_integer) const;
       bool operator!=(int _value) const;
-      bool operator>(const ls::std::boxing::Integer &_integer) const;
+      bool operator>(const ls::standard::boxing::Integer &_integer) const;
       bool operator>(int _value) const;
-      bool operator>=(const ls::std::boxing::Integer &_integer) const;
+      bool operator>=(const ls::standard::boxing::Integer &_integer) const;
       bool operator>=(int _value) const;
-      bool operator<(const ls::std::boxing::Integer &_integer) const;
+      bool operator<(const ls::standard::boxing::Integer &_integer) const;
       bool operator<(int _value) const;
-      bool operator<=(const ls::std::boxing::Integer &_integer) const;
+      bool operator<=(const ls::standard::boxing::Integer &_integer) const;
       bool operator<=(int _value) const;
 
       // logical operators
 
-      friend bool operator!(const ls::std::boxing::Integer &_integer)
+      friend bool operator!(const ls::standard::boxing::Integer &_integer)
       {
         return !_integer.value;
       }

+ 40 - 39
include/ls-std/boxing/Long.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -21,63 +22,63 @@
  * @doc: boxing.Long.description('This class represents the primitive datatype long and provides functionalities for arithmetic operations and string representation.')
  * */
 
-namespace ls::std::boxing
+namespace ls::standard::boxing
 {
-  class LS_STD_DYNAMIC_GOAL Long : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+  class LS_STD_DYNAMIC_GOAL Long : public ls::standard::core::Class, public ls::standard::core::interface_type::IBoxing
   {
     public:
 
-      explicit Long(ls::std::core::type::long_type _value);
+      explicit Long(ls::standard::core::type::long_type _value);
       Long();
       ~Long() noexcept override;
 
       // assignment operators
 
-      ls::std::boxing::Long &operator=(ls::std::core::type::long_type _value);
+      ls::standard::boxing::Long &operator=(ls::standard::core::type::long_type _value);
 
       // arithmetic operators
 
-      ls::std::core::type::long_type operator-() const;
-      ls::std::core::type::long_type operator+(const ls::std::boxing::Long &_long) const;
-      ls::std::core::type::long_type operator+(ls::std::core::type::long_type _value) const;
-      ls::std::core::type::long_type operator*(const ls::std::boxing::Long &_long) const;
-      ls::std::core::type::long_type operator*(ls::std::core::type::long_type _value) const;
-      ls::std::core::type::long_type operator-(const ls::std::boxing::Long &_long) const;
-      ls::std::core::type::long_type operator-(ls::std::core::type::long_type _value) const;
-      ls::std::core::type::long_type operator/(const ls::std::boxing::Long &_long) const;
-      ls::std::core::type::long_type operator/(ls::std::core::type::long_type _value) const;
-      ls::std::core::type::long_type operator%(const ls::std::boxing::Long &_long) const;
-      ls::std::core::type::long_type operator%(ls::std::core::type::long_type _value) const;
+      ls::standard::core::type::long_type operator-() const;
+      ls::standard::core::type::long_type operator+(const ls::standard::boxing::Long &_long) const;
+      ls::standard::core::type::long_type operator+(ls::standard::core::type::long_type _value) const;
+      ls::standard::core::type::long_type operator*(const ls::standard::boxing::Long &_long) const;
+      ls::standard::core::type::long_type operator*(ls::standard::core::type::long_type _value) const;
+      ls::standard::core::type::long_type operator-(const ls::standard::boxing::Long &_long) const;
+      ls::standard::core::type::long_type operator-(ls::standard::core::type::long_type _value) const;
+      ls::standard::core::type::long_type operator/(const ls::standard::boxing::Long &_long) const;
+      ls::standard::core::type::long_type operator/(ls::standard::core::type::long_type _value) const;
+      ls::standard::core::type::long_type operator%(const ls::standard::boxing::Long &_long) const;
+      ls::standard::core::type::long_type operator%(ls::standard::core::type::long_type _value) const;
 
       // compound operators
 
-      ls::std::boxing::Long &operator+=(const ls::std::boxing::Long &_long);
-      ls::std::boxing::Long &operator+=(ls::std::core::type::long_type _value);
-      ls::std::boxing::Long &operator-=(const ls::std::boxing::Long &_long);
-      ls::std::boxing::Long &operator-=(ls::std::core::type::long_type _value);
-      ls::std::boxing::Long &operator*=(const ls::std::boxing::Long &_long);
-      ls::std::boxing::Long &operator*=(ls::std::core::type::long_type _value);
-      ls::std::boxing::Long &operator/=(const ls::std::boxing::Long &_long);
-      ls::std::boxing::Long &operator/=(ls::std::core::type::long_type _value);
+      ls::standard::boxing::Long &operator+=(const ls::standard::boxing::Long &_long);
+      ls::standard::boxing::Long &operator+=(ls::standard::core::type::long_type _value);
+      ls::standard::boxing::Long &operator-=(const ls::standard::boxing::Long &_long);
+      ls::standard::boxing::Long &operator-=(ls::standard::core::type::long_type _value);
+      ls::standard::boxing::Long &operator*=(const ls::standard::boxing::Long &_long);
+      ls::standard::boxing::Long &operator*=(ls::standard::core::type::long_type _value);
+      ls::standard::boxing::Long &operator/=(const ls::standard::boxing::Long &_long);
+      ls::standard::boxing::Long &operator/=(ls::standard::core::type::long_type _value);
 
       // comparison operators
 
-      bool operator==(const ls::std::boxing::Long &_long) const;
-      bool operator==(ls::std::core::type::long_type _value) const;
-      bool operator!=(const ls::std::boxing::Long &_long) const;
-      bool operator!=(ls::std::core::type::long_type _value) const;
-      bool operator>(const ls::std::boxing::Long &_long) const;
-      bool operator>(ls::std::core::type::long_type _value) const;
-      bool operator>=(const ls::std::boxing::Long &_long) const;
-      bool operator>=(ls::std::core::type::long_type _value) const;
-      bool operator<(const ls::std::boxing::Long &_long) const;
-      bool operator<(ls::std::core::type::long_type _value) const;
-      bool operator<=(const ls::std::boxing::Long &_long) const;
-      bool operator<=(ls::std::core::type::long_type _value) const;
+      bool operator==(const ls::standard::boxing::Long &_long) const;
+      bool operator==(ls::standard::core::type::long_type _value) const;
+      bool operator!=(const ls::standard::boxing::Long &_long) const;
+      bool operator!=(ls::standard::core::type::long_type _value) const;
+      bool operator>(const ls::standard::boxing::Long &_long) const;
+      bool operator>(ls::standard::core::type::long_type _value) const;
+      bool operator>=(const ls::standard::boxing::Long &_long) const;
+      bool operator>=(ls::standard::core::type::long_type _value) const;
+      bool operator<(const ls::standard::boxing::Long &_long) const;
+      bool operator<(ls::standard::core::type::long_type _value) const;
+      bool operator<=(const ls::standard::boxing::Long &_long) const;
+      bool operator<=(ls::standard::core::type::long_type _value) const;
 
       // logical operators
 
-      friend bool operator!(const ls::std::boxing::Long &_long)
+      friend bool operator!(const ls::standard::boxing::Long &_long)
       {
         return !_long.value;
       }
@@ -94,11 +95,11 @@ namespace ls::std::boxing
 
       // additional functionality
 
-      [[nodiscard]] ls::std::core::type::long_type getValue() const;
+      [[nodiscard]] ls::standard::core::type::long_type getValue() const;
 
     private:
 
-      ls::std::core::type::long_type value{};
+      ls::standard::core::type::long_type value{};
 
       [[nodiscard]] static ::std::string _fetchClassName();
   };

+ 13 - 12
include/ls-std/boxing/String.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-14
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -24,9 +25,9 @@
  * @doc: boxing.String.description('This class represents a string and provides operations, like filling and searching.')
  * */
 
-namespace ls::std::boxing
+namespace ls::standard::boxing
 {
-  class LS_STD_DYNAMIC_GOAL String : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+  class LS_STD_DYNAMIC_GOAL String : public ls::standard::core::Class, public ls::standard::core::interface_type::IBoxing
   {
     public:
 
@@ -36,26 +37,26 @@ namespace ls::std::boxing
 
       // assignment operators
 
-      ls::std::boxing::String &operator=(::std::string _value);
+      ls::standard::boxing::String &operator=(::std::string _value);
 
       // arithmetic operators
 
-      ::std::string operator+(ls::std::boxing::String _string) const;
+      ::std::string operator+(ls::standard::boxing::String _string) const;
       ::std::string operator+(const ::std::string &_string) const;
       ::std::string operator+(const char *_string) const;
-      ::std::string operator-(int _number) const;
+      ::std::string operator-(::std::string::size_type _number) const;
 
       // compound operators
 
-      ls::std::boxing::String &operator+=(ls::std::boxing::String _string);
-      ls::std::boxing::String &operator+=(const ::std::string &_text);
+      ls::standard::boxing::String &operator+=(ls::standard::boxing::String _string);
+      ls::standard::boxing::String &operator+=(const ::std::string &_text);
 
       // comparison operators
 
-      bool operator==(ls::std::boxing::String _string) const;
+      bool operator==(ls::standard::boxing::String _string) const;
       bool operator==(::std::string_view _value) const;
       bool operator==(const char *_value) const;
-      bool operator!=(ls::std::boxing::String _string) const;
+      bool operator!=(ls::standard::boxing::String _string) const;
       bool operator!=(::std::string_view _value) const;
       bool operator!=(const char *_value) const;
 
@@ -68,9 +69,9 @@ namespace ls::std::boxing
 
       [[nodiscard]] bool contains(::std::string_view _text) const;
       [[nodiscard]] bool endsWith(::std::string_view _text) const;
-      [[nodiscard]] bool equalsIgnoreCase(const ls::std::boxing::String &_string) const;
+      [[nodiscard]] bool equalsIgnoreCase(const ls::standard::boxing::String &_string) const;
       [[nodiscard]] bool equalsIgnoreCase(::std::string _text) const;
-      [[nodiscard]] ::std::vector<ls::std::core::type::byte_type> getByteData();
+      [[nodiscard]] ::std::vector<ls::standard::core::type::byte_type> getByteData();
       [[nodiscard]] ::std::string padLeft(size_t _width, char _fillCharacter) const;
       [[nodiscard]] ::std::string padRight(size_t _width, char _fillCharacter) const;
       [[nodiscard]] ::std::string reverse() const;

+ 3 - 2
include/ls-std/core/Class.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -18,7 +19,7 @@
  * @doc: core.Class.description('This class represents a base class offering minimal reflection on the class name.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
   class LS_STD_DYNAMIC_GOAL Class
   {

+ 3 - 2
include/ls-std/core/ConditionalFunctionExecutor.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-13
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -18,7 +19,7 @@
  * @doc: core.ConditionalFunctionExecutor.description('This class can execute any method matching a specific signature based on a specific condition.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
   class LS_STD_DYNAMIC_GOAL ConditionalFunctionExecutor
   {

+ 3 - 2
include/ls-std/core/LibraryVersion.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-05-02
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -18,7 +19,7 @@
  * @doc: core.LibraryVersion.description('This class provides the version information of this library.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
   class LS_STD_DYNAMIC_GOAL LibraryVersion
   {

+ 16 - 15
include/ls-std/core/Version.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-27
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -21,35 +22,35 @@
  * @doc: core.Version.description('This class represents a semantic versioning scheme.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL Version : public ls::std::core::interface_type::ISerializable
+  class LS_STD_DYNAMIC_GOAL Version : public ls::standard::core::interface_type::ISerializable
   {
     public:
 
-      explicit Version(ls::std::core::type::version_type _majorVersion, ls::std::core::type::version_type _minorVersion, ls::std::core::type::version_type _patchVersion);
+      explicit Version(ls::standard::core::type::version_type _majorVersion, ls::standard::core::type::version_type _minorVersion, ls::standard::core::type::version_type _patchVersion);
       ~Version() noexcept override;
 
       // implementation
 
-      [[nodiscard]] ls::std::core::type::byte_field marshal() override;
-      void unmarshal(const ls::std::core::type::byte_field &_data) override;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
       // other functionality
 
-      [[nodiscard]] ls::std::core::type::version_type getMajorVersion() const;
-      [[nodiscard]] ls::std::core::type::version_type getMinorVersion() const;
-      [[nodiscard]] ls::std::core::type::version_type getPatchVersion() const;
+      [[nodiscard]] ls::standard::core::type::version_type getMajorVersion() const;
+      [[nodiscard]] ls::standard::core::type::version_type getMinorVersion() const;
+      [[nodiscard]] ls::standard::core::type::version_type getPatchVersion() const;
       [[nodiscard]] static bool isValid(const ::std::string &_versionString);
-      void setMajorVersion(ls::std::core::type::version_type _major);
-      void setMinorVersion(ls::std::core::type::version_type _minor);
-      void setPatchVersion(ls::std::core::type::version_type _patch);
+      void setMajorVersion(ls::standard::core::type::version_type _major);
+      void setMinorVersion(ls::standard::core::type::version_type _minor);
+      void setPatchVersion(ls::standard::core::type::version_type _patch);
 
     private:
 
-      ls::std::core::type::version_type majorVersion{};
-      ls::std::core::type::version_type minorVersion{};
-      ls::std::core::type::version_type patchVersion{};
+      ls::standard::core::type::version_type majorVersion{};
+      ls::standard::core::type::version_type minorVersion{};
+      ls::standard::core::type::version_type patchVersion{};
 
       [[nodiscard]] static bool _isValid(::std::string_view _versionString);
   };

+ 4 - 3
include/ls-std/core/evaluator/EmptyStringArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -19,9 +20,9 @@
  * @doc: core.EmptyStringArgumentEvaluator.description('This class evaluates whether a passed string is empty.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL EmptyStringArgumentEvaluator : public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL EmptyStringArgumentEvaluator : public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 4 - 3
include/ls-std/core/evaluator/IndexOutOfBoundsEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -19,9 +20,9 @@
  * @doc: core.IndexOutOfBoundsEvaluator.description('This class evaluates whether a passed index is out of bounds.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL IndexOutOfBoundsEvaluator : public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL IndexOutOfBoundsEvaluator : public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 4 - 3
include/ls-std/core/evaluator/NullPointerArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,9 +22,9 @@
  * @doc: core.NullPointerArgumentEvaluator.description('This class evaluates whether a passed shared pointer argument is null.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL NullPointerArgumentEvaluator : public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL NullPointerArgumentEvaluator : public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 4 - 3
include/ls-std/core/evaluator/NullPointerEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: core.NullPointerEvaluator.description('This class evaluates whether a passed shared pointer reference is null.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL NullPointerEvaluator : public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL NullPointerEvaluator : public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 9 - 8
include/ls-std/core/evaluator/RawNullPointerArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-05-23
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,16 +21,16 @@
  * @doc: core.RawNullPointerArgumentEvaluator.description('This class evaluates whether a passed raw pointer argument is null.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
   template<typename T>
-  class RawNullPointerArgumentEvaluator : public ls::std::core::interface_type::IEvaluator
+  class RawNullPointerArgumentEvaluator : public ls::standard::core::interface_type::IEvaluator
   {
     public:
 
-      explicit RawNullPointerArgumentEvaluator(const ls::std::core::type::RawPointer<T> &_argument) : argument(_argument)
+      explicit RawNullPointerArgumentEvaluator(const ls::standard::core::type::RawPointer<T> &_argument) : argument(_argument)
       {}
-      explicit RawNullPointerArgumentEvaluator(const ls::std::core::type::RawPointer<T> &_argument, const ::std::string &_message) : argument(_argument), message(_message)
+      explicit RawNullPointerArgumentEvaluator(const ls::standard::core::type::RawPointer<T> &_argument, const ::std::string &_message) : argument(_argument), message(_message)
       {}
       ~RawNullPointerArgumentEvaluator() noexcept override = default;
 
@@ -39,18 +40,18 @@ namespace ls::std::core
         {
           if (this->message.empty())
           {
-            throw ls::std::core::IllegalArgumentException{"passed argument is null!"};
+            throw ls::standard::core::IllegalArgumentException{"passed argument is null!"};
           }
           else
           {
-            throw ls::std::core::IllegalArgumentException{this->message};
+            throw ls::standard::core::IllegalArgumentException{this->message};
           }
         }
       }
 
     private:
 
-      ls::std::core::type::RawPointer<T> argument{};
+      ls::standard::core::type::RawPointer<T> argument{};
       ::std::string message{};
   };
 }

+ 9 - 8
include/ls-std/core/evaluator/RawNullPointerEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-05-24
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,16 +21,16 @@
  * @doc: core.RawNullPointerEvaluator.description('This class evaluates whether a passed raw pointer reference is null.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
   template<typename T>
-  class RawNullPointerEvaluator : public ls::std::core::interface_type::IEvaluator
+  class RawNullPointerEvaluator : public ls::standard::core::interface_type::IEvaluator
   {
     public:
 
-      explicit RawNullPointerEvaluator(const ls::std::core::type::RawPointer<T> &_argument) : argument(_argument)
+      explicit RawNullPointerEvaluator(const ls::standard::core::type::RawPointer<T> &_argument) : argument(_argument)
       {}
-      RawNullPointerEvaluator(const ls::std::core::type::RawPointer<T> &_argument, const ::std::string &_message) : argument(_argument), message(_message)
+      RawNullPointerEvaluator(const ls::standard::core::type::RawPointer<T> &_argument, const ::std::string &_message) : argument(_argument), message(_message)
       {}
       ~RawNullPointerEvaluator() noexcept override = default;
 
@@ -39,18 +40,18 @@ namespace ls::std::core
         {
           if (this->message.empty())
           {
-            throw ls::std::core::NullPointerException{"reference in use is null!"};
+            throw ls::standard::core::NullPointerException{"reference in use is null!"};
           }
           else
           {
-            throw ls::std::core::NullPointerException{this->message};
+            throw ls::standard::core::NullPointerException{this->message};
           }
         }
       }
 
     private:
 
-      ls::std::core::type::RawPointer<T> argument{};
+      ls::standard::core::type::RawPointer<T> argument{};
       ::std::string message{};
   };
 }

+ 4 - 3
include/ls-std/core/exception/EventNotHandledException.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-05-27
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -19,9 +20,9 @@
  * @doc: core.EventNotHandledException.description('This exception can be thrown in case an event is not handled.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL EventNotHandledException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL EventNotHandledException : public ls::standard::core::Exception
   {
     public:
 

+ 3 - 2
include/ls-std/core/exception/Exception.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-22
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,7 +21,7 @@
  * @doc: core.Exception.description('This a base exception that can be thrown in any scenario.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
   class LS_STD_DYNAMIC_GOAL Exception : public ::std::exception
   {

+ 3 - 2
include/ls-std/core/exception/ExceptionMessage.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-07
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -18,7 +19,7 @@
  * @doc: core.ExceptionMessage.description('This is the message container being used by these libraries provided exceptions.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
   class LS_STD_DYNAMIC_GOAL ExceptionMessage
   {

+ 4 - 3
include/ls-std/core/exception/FileNotFoundException.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -19,9 +20,9 @@
  * @doc: core.FileNotFoundException.description('This exception can be thrown in case a file could not be found.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL FileNotFoundException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL FileNotFoundException : public ls::standard::core::Exception
   {
     public:
 

+ 4 - 3
include/ls-std/core/exception/FileOperationException.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -19,9 +20,9 @@
  * @doc: core.FileOperationException.description('This exception can be thrown in case a file could not be processed, like opened or being read.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL FileOperationException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL FileOperationException : public ls::standard::core::Exception
   {
     public:
 

+ 4 - 3
include/ls-std/core/exception/IllegalArgumentException.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-09
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -19,9 +20,9 @@
  * @doc: core.IllegalArgumentException.description('This exception can be thrown in case a passed argument is illegal, which can be individually interpreted.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL IllegalArgumentException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL IllegalArgumentException : public ls::standard::core::Exception
   {
     public:
 

+ 4 - 3
include/ls-std/core/exception/IllegalArithmeticOperationException.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -19,9 +20,9 @@
  * @doc: core.IllegalArithmeticOperationException.description('This exception can be thrown in case an arithmetic operation is illegal. One example would be the division by zero.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL IllegalArithmeticOperationException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL IllegalArithmeticOperationException : public ls::standard::core::Exception
   {
     public:
 

+ 4 - 3
include/ls-std/core/exception/IncompleteJsonException.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-04-30
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -19,9 +20,9 @@
  * @doc: core.IncompleteJsonException.description('This exception can be thrown when a passed JSON is incomplete - e.g. if a key is missing.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL IncompleteJsonException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL IncompleteJsonException : public ls::standard::core::Exception
   {
     public:
 

+ 4 - 3
include/ls-std/core/exception/IndexOutOfBoundsException.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -19,9 +20,9 @@
  * @doc: core.IndexOutOfBoundsException.description('This exception can be thrown in case an index of an array like structure is out of bounds.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL IndexOutOfBoundsException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL IndexOutOfBoundsException : public ls::standard::core::Exception
   {
     public:
 

+ 4 - 3
include/ls-std/core/exception/NotImplementedException.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-03-27
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -19,9 +20,9 @@
  * @doc: core.NotImplementedException.description('This exception can be thrown in case a called method is not implemented.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL NotImplementedException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL NotImplementedException : public ls::standard::core::Exception
   {
     public:
 

+ 4 - 3
include/ls-std/core/exception/NullPointerException.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-06
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -19,9 +20,9 @@
  * @doc: core.NullPointerException.description('This exception can be thrown in case a called reference is null.')
  * */
 
-namespace ls::std::core
+namespace ls::standard::core
 {
-  class LS_STD_DYNAMIC_GOAL NullPointerException : public ls::std::core::Exception
+  class LS_STD_DYNAMIC_GOAL NullPointerException : public ls::standard::core::Exception
   {
     public:
 

+ 3 - 2
include/ls-std/core/interface/IBoxing.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2023-05-17
+ * Changed:         2026-06-23
  *
  * */
 
@@ -13,7 +14,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <string>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IBoxing
   {

+ 3 - 2
include/ls-std/core/interface/IEncoding.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-01-03
- * Changed:         2023-02-05
+ * Changed:         2026-06-23
  *
  * */
 
@@ -13,7 +14,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <string>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IEncoding
   {

+ 3 - 2
include/ls-std/core/interface/IEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2023-02-08
+* Changed:         2026-06-23
 *
 * */
 
@@ -12,7 +13,7 @@
 
 #include <ls-std/os/dynamic-goal.hpp>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IEvaluator
   {

+ 3 - 2
include/ls-std/core/interface/IJniApi.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-04-07
-* Changed:         2023-04-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -14,7 +15,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <string>
 
-namespace ls::std::core::experimental::interface_type
+namespace ls::standard::core::experimental::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IJniApi
   {

+ 4 - 3
include/ls-std/core/interface/IListener.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-14
- * Changed:         2023-02-05
+ * Changed:         2026-06-23
  *
  * */
 
@@ -13,7 +14,7 @@
 #include <ls-std/core/Class.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IListener
   {
@@ -22,7 +23,7 @@ namespace ls::std::core::interface_type
       IListener();
       virtual ~IListener();
 
-      virtual void listen(const ls::std::core::Class &_info) = 0;
+      virtual void listen(const ls::standard::core::Class &_info) = 0;
   };
 }
 

+ 4 - 3
include/ls-std/core/interface/IReader.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-08
+ * Changed:         2026-06-23
  *
  * */
 
@@ -13,7 +14,7 @@
 #include <ls-std/core/type/Types.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IReader
   {
@@ -22,7 +23,7 @@ namespace ls::std::core::interface_type
       IReader();
       virtual ~IReader();
 
-      virtual ls::std::core::type::byte_field read() = 0;
+      virtual ls::standard::core::type::byte_field read() = 0;
   };
 }
 

+ 5 - 4
include/ls-std/core/interface/ISerializable.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-21
- * Changed:         2023-02-08
+ * Changed:         2026-06-23
  *
  * */
 
@@ -13,7 +14,7 @@
 #include <ls-std/core/type/Types.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL ISerializable
   {
@@ -22,8 +23,8 @@ namespace ls::std::core::interface_type
       ISerializable();
       virtual ~ISerializable();
 
-      virtual ls::std::core::type::byte_field marshal() = 0;
-      virtual void unmarshal(const ls::std::core::type::byte_field &_data) = 0;
+      virtual ls::standard::core::type::byte_field marshal() = 0;
+      virtual void unmarshal(const ls::standard::core::type::byte_field &_data) = 0;
   };
 }
 

+ 5 - 4
include/ls-std/core/interface/IStorable.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-19
- * Changed:         2023-02-08
+ * Changed:         2026-06-23
  *
  * */
 
@@ -13,7 +14,7 @@
 #include <ls-std/core/type/Types.hpp>
 #include <ls-std/os/dynamic-goal.hpp>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IStorable
   {
@@ -22,8 +23,8 @@ namespace ls::std::core::interface_type
       IStorable();
       virtual ~IStorable();
 
-      virtual ls::std::core::type::byte_field load() = 0;
-      virtual void save(const ls::std::core::type::byte_field &_data) = 0;
+      virtual ls::standard::core::type::byte_field load() = 0;
+      virtual void save(const ls::standard::core::type::byte_field &_data) = 0;
   };
 }
 

+ 3 - 2
include/ls-std/core/interface/IValidator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2023-02-08
+* Changed:         2026-06-23
 *
 * */
 
@@ -12,7 +13,7 @@
 
 #include <ls-std/os/dynamic-goal.hpp>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IValidator
   {

+ 4 - 3
include/ls-std/core/interface/IWriter.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-08
+ * Changed:         2026-06-23
  *
  * */
 
@@ -14,7 +15,7 @@
 #include <ls-std/os/dynamic-goal.hpp>
 #include <vector>
 
-namespace ls::std::core::interface_type
+namespace ls::standard::core::interface_type
 {
   class LS_STD_DYNAMIC_GOAL IWriter
   {
@@ -23,7 +24,7 @@ namespace ls::std::core::interface_type
       IWriter();
       virtual ~IWriter();
 
-      virtual bool write(const ls::std::core::type::byte_field &_data) = 0;
+      virtual bool write(const ls::standard::core::type::byte_field &_data) = 0;
   };
 }
 

+ 4 - 3
include/ls-std/core/jni/JniApi.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-04-07
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -18,9 +19,9 @@
  * @doc: core.JniApi.description('This class represents an API for the Java Native Interface (JNI) wrapping basic JNI end points.')
  * */
 
-namespace ls::std::core::experimental
+namespace ls::standard::core::experimental
 {
-  class LS_STD_DYNAMIC_GOAL JniApi : public ls::std::core::experimental::interface_type::IJniApi
+  class LS_STD_DYNAMIC_GOAL JniApi : public ls::standard::core::experimental::interface_type::IJniApi
   {
     public:
 

+ 15 - 14
include/ls-std/core/jni/JniClass.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-04-07
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -25,16 +26,16 @@
  * @doc: core.JniClass.description('This class represents a Java class within the Java Native Interface (JNI).')
  * */
 
-namespace ls::std::core::experimental
+namespace ls::standard::core::experimental
 {
   class LS_STD_DYNAMIC_GOAL JniClass
   {
     public:
 
-      explicit JniClass(const ::std::shared_ptr<ls::std::core::experimental::JniClassParameter> &_parameter, const ::std::string &_path);
+      explicit JniClass(const ::std::shared_ptr<ls::standard::core::experimental::JniClassParameter> &_parameter, const ::std::string &_path);
       virtual ~JniClass();
 
-      [[nodiscard]] ls::std::core::experimental::JniReturnValue callMethod(const ::std::string &_methodIdentifier);
+      [[nodiscard]] ls::standard::core::experimental::JniReturnValue callMethod(const ::std::string &_methodIdentifier);
       [[nodiscard]] bool hasMethod(const ::std::string &_methodIdentifier);
       bool load();                                                                                    // nodiscard is optional here
       bool loadMethod(const ::std::string &_methodIdentifier, const ::std::string &_methodSignature); // nodiscard is optional here
@@ -42,18 +43,18 @@ namespace ls::std::core::experimental
     private:
 
       jclass javaClass{};
-      ::std::unordered_map<::std::string, ls::std::core::experimental::JniMethod> methods{};
-      ::std::shared_ptr<ls::std::core::experimental::JniClassParameter> parameter{};
+      ::std::unordered_map<::std::string, ls::standard::core::experimental::JniMethod> methods{};
+      ::std::shared_ptr<ls::standard::core::experimental::JniClassParameter> parameter{};
       ::std::string path{};
 
-      void _callBooleanMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
-      void _callByteMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
-      void _callCharMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
-      void _callDoubleMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
-      void _callFloatMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
-      void _callIntMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
-      void _callLongMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
-      void _callShortMethod(const ::std::string &_methodIdentifier, ls::std::core::experimental::JniReturnValue &_returnValue);
+      void _callBooleanMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
+      void _callByteMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
+      void _callCharMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
+      void _callDoubleMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
+      void _callFloatMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
+      void _callIntMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
+      void _callLongMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
+      void _callShortMethod(const ::std::string &_methodIdentifier, ls::standard::core::experimental::JniReturnValue &_returnValue);
       void _createJniApi() const;
       [[nodiscard]] bool _hasMethod(const ::std::string &_methodIdentifier);
   };

+ 6 - 5
include/ls-std/core/jni/JniClassParameter.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-04-07
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,7 +22,7 @@
  * @doc: core.JniClassParameter.description('This class holds important information for the usage of the Java Native Interface (JNI), like Java environment or a specific Java object.')
  * */
 
-namespace ls::std::core::experimental
+namespace ls::standard::core::experimental
 {
   class LS_STD_DYNAMIC_GOAL JniClassParameter
   {
@@ -32,16 +33,16 @@ namespace ls::std::core::experimental
 
       [[nodiscard]] JNIEnv *getJavaEnvironment();
       [[nodiscard]] jobject getJavaObject();
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::experimental::interface_type::IJniApi> getJniApi() const;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::experimental::interface_type::IJniApi> getJniApi() const;
       void setJavaEnvironment(JNIEnv *_environment);
       void setJavaObject(jobject _javaObject);
-      void setJniApi(const ::std::shared_ptr<ls::std::core::experimental::interface_type::IJniApi> &_jniApi);
+      void setJniApi(const ::std::shared_ptr<ls::standard::core::experimental::interface_type::IJniApi> &_jniApi);
 
     private:
 
       JNIEnv *environment{};
       jobject javaObject{};
-      ::std::shared_ptr<ls::std::core::experimental::interface_type::IJniApi> jniApi{};
+      ::std::shared_ptr<ls::standard::core::experimental::interface_type::IJniApi> jniApi{};
   };
 }
 

+ 3 - 2
include/ls-std/core/jni/JniMethod.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-04-08
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,7 +21,7 @@
  * @doc: core.JniMethod.description('This class represents a class method within Java Native Interface (JNI) context.')
  * */
 
-namespace ls::std::core::experimental
+namespace ls::standard::core::experimental
 {
   class LS_STD_DYNAMIC_GOAL JniMethod
   {

+ 3 - 2
include/ls-std/core/jni/JniReturnValue.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-04-08
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -18,7 +19,7 @@
  * @doc: core.JniReturnValue.description('This class represents a method return value of a Java class within Java Native Interface (JNI) context.')
  * */
 
-namespace ls::std::core::experimental
+namespace ls::standard::core::experimental
 {
   class LS_STD_DYNAMIC_GOAL JniReturnValue
   {

+ 3 - 2
include/ls-std/core/type/RawPointer.hpp

@@ -1,16 +1,17 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-05-23
-* Changed:         2023-05-23
+* Changed:         2026-06-23
 *
 * */
 
 #ifndef LS_STD_RAW_POINTER_HPP
 #define LS_STD_RAW_POINTER_HPP
 
-namespace ls::std::core::type
+namespace ls::standard::core::type
 {
   template<typename T>
   class RawPointer

+ 3 - 2
include/ls-std/core/type/Types.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2023-05-16
+ * Changed:         2026-06-23
  *
  * */
 
@@ -13,7 +14,7 @@
 #include <ls-std/lib/nlohmann_json/include/nlohmann/json.hpp>
 #include <string>
 
-namespace ls::std::core::type
+namespace ls::standard::core::type
 {
   using byte_type = char;
   using byte_field = ::std::string;

+ 4 - 3
include/ls-std/encoding/Base64.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-01-03
- * Changed:         2024-09-11
+ * Changed:         2026-06-23
  *
  * */
 
@@ -23,9 +24,9 @@
  * @doc: encoding.Base64.description('This class can encode and decode the Base64 format.')
  * */
 
-namespace ls::std::encoding
+namespace ls::standard::encoding
 {
-  class LS_STD_DYNAMIC_GOAL Base64 : public ls::std::core::interface_type::IEncoding
+  class LS_STD_DYNAMIC_GOAL Base64 : public ls::standard::core::interface_type::IEncoding
   {
     public:
 

+ 8 - 7
include/ls-std/event/Event.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2024-05-16
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,22 +21,22 @@
  * @doc: event.Event.description('This class represents an event that can be invoked.')
  * */
 
-namespace ls::std::event
+namespace ls::standard::event
 {
-  class LS_STD_DYNAMIC_GOAL Event : public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL Event : public ls::standard::core::Class
   {
     public:
 
       explicit Event(const ::std::string &_name);
       ~Event() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getManager() const;
-      void setManager(const ::std::shared_ptr<ls::std::core::Class> &_manager);
-      [[nodiscard]] ls::std::event::Event supervisedBy(const ::std::shared_ptr<ls::std::core::Class> &_manager) const;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::Class> getManager() const;
+      void setManager(const ::std::shared_ptr<ls::standard::core::Class> &_manager);
+      [[nodiscard]] ls::standard::event::Event supervisedBy(const ::std::shared_ptr<ls::standard::core::Class> &_manager) const;
 
     private:
 
-      ::std::shared_ptr<ls::std::core::Class> manager{};
+      ::std::shared_ptr<ls::standard::core::Class> manager{};
   };
 }
 

+ 14 - 13
include/ls-std/event/EventListener.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2024-05-16
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,32 +22,32 @@
  * @doc: event.EventListener.description('An instance of this class can listen to any event. Usually, this class is used as base class of any class that must listen to an event.')
  * */
 
-namespace ls::std::event
+namespace ls::standard::event
 {
-  class LS_STD_DYNAMIC_GOAL EventListener : public ::std::enable_shared_from_this<EventListener>, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL EventListener : public ::std::enable_shared_from_this<EventListener>, public ls::standard::core::Class
   {
     public:
 
       explicit EventListener();
       ~EventListener() noexcept override;
 
-      [[nodiscard]] ls::std::event::type::listener_id getId() const;
-      void setId(ls::std::event::type::listener_id _id);
-      void setParameter(const ls::std::event::EventParameter &_parameter);
-      [[maybe_unused]] bool subscribe(const ls::std::event::Event &_event, const ls::std::event::type::event_action &_action);
-      [[maybe_unused]] bool unsubscribe(const ls::std::event::Event &_event);
+      [[nodiscard]] ls::standard::event::type::listener_id getId() const;
+      void setId(ls::standard::event::type::listener_id _id);
+      void setParameter(const ls::standard::event::EventParameter &_parameter);
+      [[maybe_unused]] bool subscribe(const ls::standard::event::Event &_event, const ls::standard::event::type::event_action &_action);
+      [[maybe_unused]] bool unsubscribe(const ls::standard::event::Event &_event);
 
     protected:
 
-      ls::std::event::EventParameter parameter{};
+      ls::standard::event::EventParameter parameter{};
 
     private:
 
-      ls::std::event::type::listener_id id{};
+      ls::standard::event::type::listener_id id{};
 
-      void _requestListenerId(const ::std::shared_ptr<ls::std::core::Class> &_manager);
-      [[nodiscard]] bool _subscribe(const ls::std::event::Event &_event, const ls::std::event::type::event_action &_action);
-      [[nodiscard]] bool _unsubscribe(const ls::std::event::Event &_event);
+      void _requestListenerId(const ::std::shared_ptr<ls::standard::core::Class> &_manager);
+      [[nodiscard]] bool _subscribe(const ls::standard::event::Event &_event, const ls::standard::event::type::event_action &_action);
+      [[nodiscard]] bool _unsubscribe(const ls::standard::event::Event &_event);
   };
 }
 

+ 19 - 18
include/ls-std/event/EventManager.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2024-05-16
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,10 +22,10 @@
 #include <memory>
 #include <unordered_map>
 
-namespace ls::std::event::type
+namespace ls::standard::event::type
 {
-  using event_listeners = ::std::list<::std::pair<::std::shared_ptr<ls::std::event::EventListener>, ls::std::event::type::event_action>>;
-  using event_observability_inventory = ::std::unordered_map<::std::string, ls::std::event::type::event_listeners>;
+  using event_listeners = ::std::list<::std::pair<::std::shared_ptr<ls::standard::event::EventListener>, ls::standard::event::type::event_action>>;
+  using event_observability_inventory = ::std::unordered_map<::std::string, ls::standard::event::type::event_listeners>;
 }
 
 /*
@@ -32,31 +33,31 @@ namespace ls::std::event::type
  * @doc: event.EventManager.description('This class can invoke all events known by subscribed listeners.')
  * */
 
-namespace ls::std::event
+namespace ls::standard::event
 {
-  class LS_STD_DYNAMIC_GOAL EventManager : public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL EventManager : public ls::standard::core::Class
   {
     public:
 
       explicit EventManager();
       ~EventManager() noexcept override;
 
-      [[nodiscard]] ls::std::event::type::listener_id getNextProvisionId() const;
-      [[nodiscard]] bool holdsListenerForEvent(ls::std::event::type::listener_id _id, const ls::std::event::Event &_event);
-      void invoke(const ls::std::event::Event &_event);
-      void invoke(const ls::std::event::Event &_event, const ls::std::event::EventParameter &_parameter);
-      [[nodiscard]] ls::std::event::type::listener_id requestListenerId();
-      void subscribeListenerForEvent(::std::shared_ptr<ls::std::event::EventListener> _listener, const ls::std::event::Event &_event, ls::std::event::type::event_action _action);
-      void unsubscribeListenerForEvent(const ::std::shared_ptr<ls::std::event::EventListener> &_listener, const ls::std::event::Event &_event);
+      [[nodiscard]] ls::standard::event::type::listener_id getNextProvisionId() const;
+      [[nodiscard]] bool holdsListenerForEvent(ls::standard::event::type::listener_id _id, const ls::standard::event::Event &_event);
+      void invoke(const ls::standard::event::Event &_event);
+      void invoke(const ls::standard::event::Event &_event, const ls::standard::event::EventParameter &_parameter);
+      [[nodiscard]] ls::standard::event::type::listener_id requestListenerId();
+      void subscribeListenerForEvent(::std::shared_ptr<ls::standard::event::EventListener> _listener, const ls::standard::event::Event &_event, ls::standard::event::type::event_action _action);
+      void unsubscribeListenerForEvent(const ::std::shared_ptr<ls::standard::event::EventListener> &_listener, const ls::standard::event::Event &_event);
 
     private:
 
-      ls::std::event::type::event_observability_inventory inventory{};
-      ls::std::event::type::listener_id provisionId = 1;
+      ls::standard::event::type::event_observability_inventory inventory{};
+      ls::standard::event::type::listener_id provisionId = 1;
 
-      static void _giveListenersParameter(const ls::std::event::type::event_listeners &_listeners, const ls::std::event::EventParameter &_parameter);
-      static void _notifyListeners(const ls::std::event::type::event_listeners &_listeners);
-      bool _observesEvent(const ls::std::event::Event &_event) const;
+      static void _giveListenersParameter(const ls::standard::event::type::event_listeners &_listeners, const ls::standard::event::EventParameter &_parameter);
+      static void _notifyListeners(const ls::standard::event::type::event_listeners &_listeners);
+      bool _observesEvent(const ls::standard::event::Event &_event) const;
   };
 }
 

+ 3 - 2
include/ls-std/event/EventParameter.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2024-05-30
-* Changed:         2024-09-11
+* Changed:         2026-06-23
 *
 * */
 
@@ -19,7 +20,7 @@
  * @doc: event.EventParameter.description('This class holds parameters which can be sent during event invocation.')
  * */
 
-namespace ls::std::event
+namespace ls::standard::event
 {
   class LS_STD_DYNAMIC_GOAL EventParameter
   {

+ 3 - 2
include/ls-std/event/type/EventTypes.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2024-05-16
-* Changed:         2024-05-17
+* Changed:         2026-06-23
 *
 * */
 
@@ -13,7 +14,7 @@
 #include <cstdint>
 #include <functional>
 
-namespace ls::std::event::type
+namespace ls::standard::event::type
 {
   using event_action = ::std::function<void()>;
   using listener_id = uint32_t;

+ 9 - 7
include/ls-std/io/File.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -20,6 +21,7 @@
 #include <string>
 #include <vector>
 #ifdef _WIN32
+  #define NOMINMAX
   #include <windows.h>
 #endif
 
@@ -28,9 +30,9 @@
  * @doc: io.File.description('This class represents a file in the file system and provides functionalities for location, operations and fetching property information.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL File : public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL File : public ls::standard::core::Class
   {
     public:
 
@@ -39,8 +41,8 @@ namespace ls::std::io
 
       // comparison operators
 
-      bool operator==(const ls::std::io::File &_file) const;
-      bool operator!=(const ls::std::io::File &_file) const;
+      bool operator==(const ls::standard::io::File &_file) const;
+      bool operator!=(const ls::standard::io::File &_file) const;
 
       // additional functionality
 
@@ -52,7 +54,7 @@ namespace ls::std::io
       [[nodiscard]] ::std::string getAbsoluteFilePath() const;
       [[nodiscard]] ::std::string getName() const;
       [[nodiscard]] ::std::string getParent() const;
-      [[nodiscard]] long getSize() const;
+      [[nodiscard]] size_t getSize() const;
       [[nodiscard]] static ::std::string getWorkingDirectory();
       [[nodiscard]] bool isDirectory() const;
       [[nodiscard]] bool isFile() const;
@@ -75,7 +77,7 @@ namespace ls::std::io
 #ifdef _WIN32
       static void _addToFileListWindows(const ::std::string &_path, bool _withDirectories, WIN32_FIND_DATA _data, ::std::list<::std::string> &_list);
 #endif
-      [[nodiscard]] static bool _equals(const ls::std::io::File &_file, const ls::std::io::File &_foreignFile);
+      [[nodiscard]] static bool _equals(const ls::standard::io::File &_file, const ls::standard::io::File &_foreignFile);
       [[nodiscard]] static bool _exists(const ::std::string &_path);
       [[nodiscard]] static ::std::string _getParent(const ::std::string &_path);
 #if defined(unix) || defined(__APPLE__)

+ 8 - 7
include/ls-std/io/FileOutputStream.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -21,23 +22,23 @@
  * @doc: io.FileOutputStream.description('This class can be used for writing to a file stream.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL FileOutputStream : public ls::std::core::Class, public ls::std::core::interface_type::IWriter
+  class LS_STD_DYNAMIC_GOAL FileOutputStream : public ls::standard::core::Class, public ls::standard::core::interface_type::IWriter
   {
     public:
 
-      explicit FileOutputStream(const ls::std::io::File &_file);
-      explicit FileOutputStream(const ls::std::io::File &_file, bool _append);
+      explicit FileOutputStream(const ls::standard::io::File &_file);
+      explicit FileOutputStream(const ls::standard::io::File &_file, bool _append);
       ~FileOutputStream() noexcept override;
 
       void close();
-      bool write(const ls::std::core::type::byte_field &_data) override; // nodiscard is optional here
+      bool write(const ls::standard::core::type::byte_field &_data) override; // nodiscard is optional here
 
     private:
 
       bool append{};
-      ls::std::io::File file;
+      ls::standard::io::File file;
       ::std::ofstream outputStream{};
 
       void _close();

+ 3 - 2
include/ls-std/io/FilePathSeparator.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -18,7 +19,7 @@
  * @doc: io.FilePathSeparator.description('This class represents the OS specific separator withing file paths on either Windows- or Unix-like operating systems.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   class LS_STD_DYNAMIC_GOAL FilePathSeparator
   {

+ 3 - 2
include/ls-std/io/FilePathSeparatorMatch.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -17,7 +18,7 @@
  * @doc: io.FilePathSeparatorMatch.description('This class can filter file path separators.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   class LS_STD_DYNAMIC_GOAL FilePathSeparatorMatch
   {

+ 8 - 7
include/ls-std/io/FileReader.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -20,21 +21,21 @@
  * @doc: io.FileReader.description('This class can read the content of a file and return it as byte field.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL FileReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
+  class LS_STD_DYNAMIC_GOAL FileReader : public ls::standard::core::Class, public ls::standard::core::interface_type::IReader
   {
     public:
 
-      explicit FileReader(const ls::std::io::File &_file);
+      explicit FileReader(const ls::standard::io::File &_file);
       ~FileReader() noexcept override;
 
-      [[nodiscard]] ls::std::core::type::byte_field read() override;
-      void reset(const ls::std::io::File &_file);
+      [[nodiscard]] ls::standard::core::type::byte_field read() override;
+      void reset(const ls::standard::io::File &_file);
 
     private:
 
-      ls::std::io::File file;
+      ls::standard::io::File file;
   };
 }
 

+ 8 - 7
include/ls-std/io/FileWriter.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -20,21 +21,21 @@
  * @doc: io.FileWriter.description('This class can write to a file.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL FileWriter : public ls::std::core::Class, public ls::std::core::interface_type::IWriter
+  class LS_STD_DYNAMIC_GOAL FileWriter : public ls::standard::core::Class, public ls::standard::core::interface_type::IWriter
   {
     public:
 
-      explicit FileWriter(const ls::std::io::File &_file);
+      explicit FileWriter(const ls::standard::io::File &_file);
       ~FileWriter() noexcept override;
 
-      void reset(const ls::std::io::File &_file);
-      bool write(const ls::std::core::type::byte_field &_data) override; // nodiscard is optional here
+      void reset(const ls::standard::io::File &_file);
+      bool write(const ls::standard::core::type::byte_field &_data) override; // nodiscard is optional here
 
     private:
 
-      ls::std::io::File file;
+      ls::standard::io::File file;
   };
 }
 

+ 3 - 2
include/ls-std/io/NewLine.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-18
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -18,7 +19,7 @@
  * @doc: io.NewLine.description('This class can be used as new line based on the preferred operating system. Currently, Windows and Unix-like operating systems are supported.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   class LS_STD_DYNAMIC_GOAL NewLine
   {

+ 5 - 4
include/ls-std/io/StandardOutputWriter.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-06
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -18,16 +19,16 @@
  * @doc: io.StandardOutputWriter.description('This class can be used to write a string to stdout.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL StandardOutputWriter : public ls::std::core::interface_type::IWriter
+  class LS_STD_DYNAMIC_GOAL StandardOutputWriter : public ls::standard::core::interface_type::IWriter
   {
     public:
 
       StandardOutputWriter();
       ~StandardOutputWriter() noexcept override;
 
-      bool write(const ls::std::core::type::byte_field &_data) override; // nodiscard is optional here
+      bool write(const ls::standard::core::type::byte_field &_data) override; // nodiscard is optional here
   };
 }
 

+ 8 - 7
include/ls-std/io/StorableFile.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-19
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -21,23 +22,23 @@
  * @doc: io.StorableFile.description('This class can be used to store any serialized information to a file.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL StorableFile : public ls::std::core::interface_type::IStorable
+  class LS_STD_DYNAMIC_GOAL StorableFile : public ls::standard::core::interface_type::IStorable
   {
     public:
 
       explicit StorableFile(const ::std::string &_path);
       ~StorableFile() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::File> getFile() const;
-      [[nodiscard]] ls::std::core::type::byte_field load() override;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::io::File> getFile() const;
+      [[nodiscard]] ls::standard::core::type::byte_field load() override;
       void reset(const ::std::string &_path);
-      void save(const ls::std::core::type::byte_field &_data) override;
+      void save(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ::std::shared_ptr<ls::std::io::File> file{};
+      ::std::shared_ptr<ls::standard::io::File> file{};
 
       void _init(const ::std::string &_path);
   };

+ 4 - 3
include/ls-std/io/evaluator/FileExistenceEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: io.FileExistenceEvaluator.description('This class evaluates whether a file exists and throws an exception in case it does not.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL FileExistenceEvaluator : public ls::std::core::Class, public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL FileExistenceEvaluator : public ls::standard::core::Class, public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 16 - 15
include/ls-std/io/logging/LogLevel.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -21,34 +22,34 @@
  * @doc: io.LogLevel.description('This class represents the log level controlling how noisy a log should be.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL LogLevel : public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL LogLevel : public ls::standard::core::Class
   {
     public:
 
-      explicit LogLevel(const ls::std::io::LogLevelValue &_value);
+      explicit LogLevel(const ls::standard::io::LogLevelValue &_value);
       LogLevel();
       ~LogLevel() noexcept override;
 
-      ls::std::io::LogLevel &operator=(const ls::std::io::LogLevelValue &_value);
-      bool operator<(const ls::std::io::LogLevelValue &_value) const;
-      bool operator<=(const ls::std::io::LogLevelValue &_value) const;
-      bool operator>(const ls::std::io::LogLevelValue &_value) const;
-      bool operator>=(const ls::std::io::LogLevelValue &_value) const;
-      bool operator==(const ls::std::io::LogLevelValue &_value) const;
+      ls::standard::io::LogLevel &operator=(const ls::standard::io::LogLevelValue &_value);
+      bool operator<(const ls::standard::io::LogLevelValue &_value) const;
+      bool operator<=(const ls::standard::io::LogLevelValue &_value) const;
+      bool operator>(const ls::standard::io::LogLevelValue &_value) const;
+      bool operator>=(const ls::standard::io::LogLevelValue &_value) const;
+      bool operator==(const ls::standard::io::LogLevelValue &_value) const;
 
-      [[nodiscard]] ls::std::io::LogLevelValue getValue() const;
-      void setLogLevel(const ls::std::io::LogLevelValue &_value);
+      [[nodiscard]] ls::standard::io::LogLevelValue getValue() const;
+      void setLogLevel(const ls::standard::io::LogLevelValue &_value);
       void setLogLevel(const ::std::string &_value);
       [[nodiscard]] ::std::string toString() const;
 
     private:
 
-      ::std::unordered_map<ls::std::io::LogLevelValue, ::std::string> level{};
-      ls::std::io::LogLevelValue value{};
+      ::std::unordered_map<ls::standard::io::LogLevelValue, ::std::string> level{};
+      ls::standard::io::LogLevelValue value{};
 
-      [[nodiscard]] ls::std::io::LogLevelValue _getValueFromString(const ::std::string &_value);
+      [[nodiscard]] ls::standard::io::LogLevelValue _getValueFromString(const ::std::string &_value);
       void _init();
       [[nodiscard]] bool _isValidLogLevelString(::std::string_view _value) const;
   };

+ 3 - 2
include/ls-std/io/logging/LogLevelValue.hpp

@@ -1,16 +1,17 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2023-05-19
+ * Changed:         2026-06-23
  *
  * */
 
 #ifndef LS_STD_LOG_LEVEL_VALUE_HPP
 #define LS_STD_LOG_LEVEL_VALUE_HPP
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   enum class LogLevelValue
   {

+ 18 - 17
include/ls-std/io/logging/Logger.hpp

@@ -1,9 +1,10 @@
 /*
  * Author:          Patrick-Christopher Mattulat
+ * Co-Author:       Claude Sonnet 4.6 (LLM)
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2024-09-13
+ * Changed:         2026-06-23
  *
  * */
 
@@ -24,42 +25,42 @@
  * @doc: io.Logger.description('This is a logger which can log to any implemented target.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL Logger : public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL Logger : public ls::standard::core::Class
   {
     public:
 
-      explicit Logger(const ::std::shared_ptr<ls::std::core::interface_type::IWriter> &_writer);
+      explicit Logger(const ::std::shared_ptr<ls::standard::core::interface_type::IWriter> &_writer);
       ~Logger() noexcept override;
 
-      void debug(const ls::std::core::type::byte_type *_data) const;
-      void error(const ls::std::core::type::byte_type *_data) const;
-      void fatal(const ls::std::core::type::byte_type *_data) const;
-      [[nodiscard]] ls::std::io::LogLevel getLogLevel() const;
+      void debug(const ls::standard::core::type::byte_type *_data) const;
+      void error(const ls::standard::core::type::byte_type *_data) const;
+      void fatal(const ls::standard::core::type::byte_type *_data) const;
+      [[nodiscard]] ls::standard::io::LogLevel getLogLevel() const;
       void hideLogLevel();
       void hideTimestamp();
-      void info(const ls::std::core::type::byte_type *_data) const;
-      void setLogLevel(const ls::std::io::LogLevelValue &_logLevelValue);
+      void info(const ls::standard::core::type::byte_type *_data) const;
+      void setLogLevel(const ls::standard::io::LogLevelValue &_logLevelValue);
       void showLogLevel();
       void showTimestamp();
-      void trace(const ls::std::core::type::byte_type *_data) const;
-      void warn(const ls::std::core::type::byte_type *_data) const;
+      void trace(const ls::standard::core::type::byte_type *_data) const;
+      void warn(const ls::standard::core::type::byte_type *_data) const;
 
     private:
 
       bool displayLogLevel{};
       bool displayTimestamp{};
-      ls::std::io::LogLevel logLevel{};
-      ::std::shared_ptr<ls::std::core::interface_type::IWriter> writer{};
+      ls::standard::io::LogLevel logLevel{};
+      ::std::shared_ptr<ls::standard::core::interface_type::IWriter> writer{};
 
-      void _assignWriter(const ::std::shared_ptr<ls::std::core::interface_type::IWriter> &_writer);
+      void _assignWriter(const ::std::shared_ptr<ls::standard::core::interface_type::IWriter> &_writer);
       [[nodiscard]] static ::std::string _buildCharacterChain(size_t _amount);
       [[nodiscard]] static ::std::string _createFillContent(::std::string_view _text);
       [[nodiscard]] static ::std::string _generateTimeString(const tm *_localTime);
-      [[nodiscard]] ::std::string _getLogLevelString(const ls::std::io::LogLevel &_logLevel) const;
+      [[nodiscard]] ::std::string _getLogLevelString(const ls::standard::io::LogLevel &_logLevel) const;
       [[nodiscard]] ::std::string _getTimestampString() const;
-      void _log(const ls::std::core::type::byte_type *_data, const ls::std::io::LogLevel &_logLevel) const;
+      void _log(const ls::standard::core::type::byte_type *_data, const ls::standard::io::LogLevel &_logLevel) const;
       [[nodiscard]] static ::std::string _padRight(const ::std::string &_text);
   };
 }

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-22
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -18,7 +19,7 @@
  * @doc: io.SectionPairMessageFormatter.description('This message formatter replaces new line sequences, which are OS specific, to a readable tag for error message formatting.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   class LS_STD_DYNAMIC_GOAL SectionPairMessageFormatter
   {

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

@@ -1,16 +1,17 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2023-05-18
+* Changed:         2026-06-23
 *
 * */
 
 #ifndef LS_STD_SECTION_PAIR_ROW_ENUM_TYPE_HPP
 #define LS_STD_SECTION_PAIR_ROW_ENUM_TYPE_HPP
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   enum class SectionPairRowEnumType
   {

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2023-02-10
+* Changed:         2026-06-23
 *
 * */
 
@@ -12,7 +13,7 @@
 
 #include <string>
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   using section_pair_identifier = ::std::string;
   using section_pair_row_value = ::std::string;

+ 6 - 5
include/ls-std/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-09
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,20 +21,20 @@
  * @doc: io.SectionPairIdentifierArgumentEvaluator.description('This class checks whether an identifier argument is valid and throws an exception if that is not the case.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairIdentifierArgumentEvaluator : public ls::std::core::interface_type::IEvaluator, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL SectionPairIdentifierArgumentEvaluator : public ls::standard::core::interface_type::IEvaluator, public ls::standard::core::Class
   {
     public:
 
-      explicit SectionPairIdentifierArgumentEvaluator(ls::std::io::section_pair_identifier _identifier);
+      explicit SectionPairIdentifierArgumentEvaluator(ls::standard::io::section_pair_identifier _identifier);
       ~SectionPairIdentifierArgumentEvaluator() noexcept override;
 
       void evaluate() override;
 
     private:
 
-      ls::std::io::section_pair_identifier identifier{};
+      ls::standard::io::section_pair_identifier identifier{};
   };
 }
 

+ 4 - 3
include/ls-std/io/section-pair/evaluator/SectionPairRowArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: io.SectionPairRowArgumentEvaluator.description('This class checks whether a row argument is valid and throws an exception if that is not the case.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairRowArgumentEvaluator : public ls::std::core::Class, public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL SectionPairRowArgumentEvaluator : public ls::standard::core::Class, public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 4 - 3
include/ls-std/io/section-pair/evaluator/SectionPairRowListValueArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: io.SectionPairRowListValueArgumentEvaluator.description('This class checks whether a row list value argument is valid and throws an exception if that is not the case.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairRowListValueArgumentEvaluator : public ls::std::core::Class, public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL SectionPairRowListValueArgumentEvaluator : public ls::standard::core::Class, public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 4 - 3
include/ls-std/io/section-pair/evaluator/SectionPairRowSingleValueArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-19
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: io.SectionPairRowSingleValueArgumentEvaluator.description('This class checks whether a single row value argument is valid and throws an exception if that is not the case.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairRowSingleValueArgumentEvaluator : public ls::std::core::Class, public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL SectionPairRowSingleValueArgumentEvaluator : public ls::standard::core::Class, public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 4 - 3
include/ls-std/io/section-pair/evaluator/SectionPairSectionArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-20
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: io.SectionPairSectionArgumentEvaluator.description('This class checks whether a whole section argument is valid and throws an exception if that is not the case.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairSectionArgumentEvaluator : public ls::std::core::Class, public ls::std::core::interface_type::IEvaluator
+  class LS_STD_DYNAMIC_GOAL SectionPairSectionArgumentEvaluator : public ls::standard::core::Class, public ls::standard::core::interface_type::IEvaluator
   {
     public:
 

+ 6 - 5
include/ls-std/io/section-pair/evaluator/SectionPairValueArgumentEvaluator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,20 +22,20 @@
  * @doc: io.SectionPairValueArgumentEvaluator.description('This class checks whether a value argument is valid and throws an exception if that is not the case.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairValueArgumentEvaluator : public ls::std::core::interface_type::IEvaluator, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL SectionPairValueArgumentEvaluator : public ls::standard::core::interface_type::IEvaluator, public ls::standard::core::Class
   {
     public:
 
-      explicit SectionPairValueArgumentEvaluator(ls::std::io::section_pair_row_value _value);
+      explicit SectionPairValueArgumentEvaluator(ls::standard::io::section_pair_row_value _value);
       ~SectionPairValueArgumentEvaluator() noexcept override;
 
       void evaluate() override;
 
     private:
 
-      ls::std::io::section_pair_row_value value{};
+      ls::standard::io::section_pair_row_value value{};
   };
 }
 

+ 16 - 15
include/ls-std/io/section-pair/model/SectionPairDocument.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-15
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -23,38 +24,38 @@
  * @doc: io.SectionPairDocument.description('This class represents a whole Section Pair document.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairDocument : public ::std::enable_shared_from_this<SectionPairDocument>, public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
+  class LS_STD_DYNAMIC_GOAL SectionPairDocument : public ::std::enable_shared_from_this<SectionPairDocument>, public ls::standard::core::Class, public ls::standard::core::interface_type::ISerializable
   {
     public:
 
       SectionPairDocument();
       ~SectionPairDocument() noexcept override;
 
-      void add(const ls::std::io::section_pair_document_section_list_element &_section);
+      void add(const ls::standard::io::section_pair_document_section_list_element &_section);
       void clear();
-      [[nodiscard]] ls::std::io::section_pair_document_section_list_element get(size_t _index) const;
-      [[nodiscard]] ls::std::io::section_pair_document_section_list_element get(const ls::std::io::section_pair_identifier &_sectionId) const;
+      [[nodiscard]] ls::standard::io::section_pair_document_section_list_element get(size_t _index) const;
+      [[nodiscard]] ls::standard::io::section_pair_document_section_list_element get(const ls::standard::io::section_pair_identifier &_sectionId) const;
       [[nodiscard]] size_t getAmountOfSections() const;
       [[nodiscard]] ::std::string getHeader() const;
-      [[nodiscard]] ls::std::io::section_pair_document_section_list getSectionList() const;
-      [[nodiscard]] bool hasSection(const ls::std::io::section_pair_identifier &_sectionId);
-      [[nodiscard]] ls::std::core::type::byte_field marshal() override;
+      [[nodiscard]] ls::standard::io::section_pair_document_section_list getSectionList() const;
+      [[nodiscard]] bool hasSection(const ls::standard::io::section_pair_identifier &_sectionId);
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
       void reserveNewLine(::std::string_view _reservedNewLine);
-      void unmarshal(const ls::std::core::type::byte_field &_data) override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
       const ::std::string header = "# section-pair document";
       ::std::string reservedNewLine{};
-      ls::std::io::section_pair_document_section_list sections{};
-      ::std::shared_ptr<ls::std::core::interface_type::ISerializable> serializable{};
+      ls::standard::io::section_pair_document_section_list sections{};
+      ::std::shared_ptr<ls::standard::core::interface_type::ISerializable> serializable{};
 
-      void _checkSectionExistence(const ls::std::io::section_pair_identifier &_sectionId);
+      void _checkSectionExistence(const ls::standard::io::section_pair_identifier &_sectionId);
       void _createSerializable();
-      [[nodiscard]] ls::std::io::section_pair_document_section_list_element _get(const ls::std::io::section_pair_identifier &_sectionId) const;
-      [[nodiscard]] bool _hasSection(const ls::std::io::section_pair_identifier &_identifier);
+      [[nodiscard]] ls::standard::io::section_pair_document_section_list_element _get(const ls::standard::io::section_pair_identifier &_sectionId) const;
+      [[nodiscard]] bool _hasSection(const ls::standard::io::section_pair_identifier &_identifier);
   };
 }
 

+ 15 - 14
include/ls-std/io/section-pair/model/SectionPairRow.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-08
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -25,34 +26,34 @@
  * @doc: io.SectionPairRow.description('This class represents a Section Pair row.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairRow : public ::std::enable_shared_from_this<SectionPairRow>, public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
+  class LS_STD_DYNAMIC_GOAL SectionPairRow : public ::std::enable_shared_from_this<SectionPairRow>, public ls::standard::core::Class, public ls::standard::core::interface_type::ISerializable
   {
     public:
 
-      explicit SectionPairRow(const ls::std::io::section_pair_identifier &_key, const ls::std::io::SectionPairRowEnumType &_type);
+      explicit SectionPairRow(const ls::standard::io::section_pair_identifier &_key, const ls::standard::io::SectionPairRowEnumType &_type);
       ~SectionPairRow() noexcept override;
 
-      [[nodiscard]] ls::std::io::section_pair_identifier getKey() const;
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairRowValue> getValue() const;
+      [[nodiscard]] ls::standard::io::section_pair_identifier getKey() const;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::io::SectionPairRowValue> getValue() const;
       [[nodiscard]] bool isList() const;
       [[nodiscard]] bool isSingleValue() const;
-      [[nodiscard]] ls::std::core::type::byte_field marshal() override;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
       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;
+      void setKey(const ls::standard::io::section_pair_identifier &_key);
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ls::std::io::section_pair_identifier key{};
+      ls::standard::io::section_pair_identifier key{};
       ::std::string reservedNewLine{};
-      ::std::shared_ptr<ls::std::core::interface_type::ISerializable> serializable{};
-      ::std::shared_ptr<ls::std::io::SectionPairRowValue> value{};
+      ::std::shared_ptr<ls::standard::core::interface_type::ISerializable> serializable{};
+      ::std::shared_ptr<ls::standard::io::SectionPairRowValue> value{};
 
       void _createSerializable();
-      void _initValue(const ls::std::io::SectionPairRowEnumType &_type);
-      void _setKey(const ls::std::io::section_pair_identifier &_key);
+      void _initValue(const ls::standard::io::SectionPairRowEnumType &_type);
+      void _setKey(const ls::standard::io::section_pair_identifier &_key);
   };
 }
 

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,28 +22,28 @@
  * @doc: io.SectionPairRowListValue.description('This class represents a Section Pair row list value.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairRowListValue : public ::std::enable_shared_from_this<SectionPairRowListValue>, public ls::std::core::Class, public ls::std::io::SectionPairRowValue
+  class LS_STD_DYNAMIC_GOAL SectionPairRowListValue : public ::std::enable_shared_from_this<SectionPairRowListValue>, public ls::standard::core::Class, public ls::standard::io::SectionPairRowValue
   {
     public:
 
       SectionPairRowListValue();
       ~SectionPairRowListValue() noexcept override;
 
-      void add(const ls::std::io::section_pair_row_value &_value);
+      void add(const ls::standard::io::section_pair_row_value &_value);
       void clear();
-      [[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]] ls::standard::io::section_pair_row_value get(size_t _index) const;
+      [[nodiscard]] ::std::list<ls::standard::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;
+      [[nodiscard]] ls::standard::io::SectionPairRowEnumType getType() override;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ::std::shared_ptr<ls::std::core::interface_type::ISerializable> serializable{};
-      ::std::list<ls::std::io::section_pair_row_value> values{};
+      ::std::shared_ptr<ls::standard::core::interface_type::ISerializable> serializable{};
+      ::std::list<ls::standard::io::section_pair_row_value> values{};
 
       void _createSerializable();
   };

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -22,28 +23,28 @@
  * @doc: io.SectionPairRowSingleValue.description('This class represents a Section Pair row single value.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairRowSingleValue : public ::std::enable_shared_from_this<SectionPairRowSingleValue>, public ls::std::core::Class, public ls::std::io::SectionPairRowValue
+  class LS_STD_DYNAMIC_GOAL SectionPairRowSingleValue : public ::std::enable_shared_from_this<SectionPairRowSingleValue>, public ls::standard::core::Class, public ls::standard::io::SectionPairRowValue
   {
     public:
 
-      explicit SectionPairRowSingleValue(const ls::std::io::section_pair_row_value &_value);
+      explicit SectionPairRowSingleValue(const ls::standard::io::section_pair_row_value &_value);
       ~SectionPairRowSingleValue() noexcept override;
 
-      [[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);
-      void unmarshal(const ls::std::core::type::byte_field &_data) override;
+      [[nodiscard]] ls::standard::io::section_pair_row_value get() const;
+      [[nodiscard]] ls::standard::io::SectionPairRowEnumType getType() override;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void set(const ls::standard::io::section_pair_row_value &_value);
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ::std::shared_ptr<ls::std::core::interface_type::ISerializable> serializable{};
-      ls::std::io::section_pair_row_value value{};
+      ::std::shared_ptr<ls::standard::core::interface_type::ISerializable> serializable{};
+      ls::standard::io::section_pair_row_value value{};
 
       void _createSerializable();
-      void _set(const ls::std::io::section_pair_row_value &_value);
+      void _set(const ls::standard::io::section_pair_row_value &_value);
   };
 }
 

+ 10 - 9
include/ls-std/io/section-pair/model/SectionPairRowValue.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-10
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,29 +21,29 @@
  * @doc: io.SectionPairRowValue.description('This class represents a Section Pair row value.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairRowValue : public ls::std::core::interface_type::ISerializable
+  class LS_STD_DYNAMIC_GOAL SectionPairRowValue : public ls::standard::core::interface_type::ISerializable
   {
     public:
 
-      explicit SectionPairRowValue(const ls::std::io::SectionPairRowEnumType &_type);
+      explicit SectionPairRowValue(const ls::standard::io::SectionPairRowEnumType &_type);
       ~SectionPairRowValue() noexcept override;
 
-      virtual ls::std::io::SectionPairRowEnumType getType() = 0;
-      [[nodiscard]] ls::std::core::type::byte_field marshal() override;
+      virtual ls::standard::io::SectionPairRowEnumType getType() = 0;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
       void reserveNewLine(::std::string_view _reservedNewLine);
-      void unmarshal(const ls::std::core::type::byte_field &_data) override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     protected:
 
       [[nodiscard]] ::std::string _getReservedNewLine() const;
-      [[nodiscard]] ls::std::io::SectionPairRowEnumType _getType() const;
+      [[nodiscard]] ls::standard::io::SectionPairRowEnumType _getType() const;
 
     private:
 
       ::std::string reservedNewLine{};
-      ls::std::io::SectionPairRowEnumType type{};
+      ls::standard::io::SectionPairRowEnumType type{};
   };
 }
 

+ 21 - 20
include/ls-std/io/section-pair/model/SectionPairSection.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-13
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -25,40 +26,40 @@
  * @doc: io.SectionPairSection.description('This class represents a Section Pair section.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairSection : public ::std::enable_shared_from_this<SectionPairSection>, public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
+  class LS_STD_DYNAMIC_GOAL SectionPairSection : public ::std::enable_shared_from_this<SectionPairSection>, public ls::standard::core::Class, public ls::standard::core::interface_type::ISerializable
   {
     public:
 
-      explicit SectionPairSection(const ls::std::io::section_pair_identifier &_sectionId);
+      explicit SectionPairSection(const ls::standard::io::section_pair_identifier &_sectionId);
       ~SectionPairSection() noexcept override;
 
-      void add(const ls::std::io::section_pair_row_list_element &_row);
+      void add(const ls::standard::io::section_pair_row_list_element &_row);
       void clear();
-      [[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]] ls::standard::io::section_pair_row_list_element get(size_t _index) const;
+      [[nodiscard]] ls::standard::io::section_pair_row_list_element get(const ls::standard::io::section_pair_identifier &_key) const;
+      [[nodiscard]] ls::standard::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;
+      [[nodiscard]] ls::standard::io::section_pair_identifier getSectionId() const;
+      [[nodiscard]] bool hasRow(const ls::standard::io::section_pair_identifier &_key);
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
       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;
+      void setSectionId(const ls::standard::io::section_pair_identifier &_sectionId);
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
       ::std::string reservedNewLine{};
-      ls::std::io::section_pair_row_list rows{};
-      ls::std::io::section_pair_identifier sectionId{};
-      ::std::shared_ptr<ls::std::core::interface_type::ISerializable> serializable{};
+      ls::standard::io::section_pair_row_list rows{};
+      ls::standard::io::section_pair_identifier sectionId{};
+      ::std::shared_ptr<ls::standard::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) 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);
+      [[nodiscard]] ls::standard::io::section_pair_row_list_element _get(const ls::standard::io::section_pair_identifier &_key) const;
+      [[nodiscard]] bool _hasRow(const ls::standard::io::section_pair_identifier &_key);
+      void _rowExistenceCheck(const ls::standard::io::section_pair_identifier &_key);
+      void _setSectionId(const ls::standard::io::section_pair_identifier &_sectionId);
   };
 }
 

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2024-09-13
+* Changed:         2026-06-24
 *
 * */
 
@@ -21,26 +22,27 @@
  * @doc: io.SectionPairFileReader.description('This class reads a Section Pair file and writes it to a Section Pair document instance.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairFileReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
+  class LS_STD_DYNAMIC_GOAL SectionPairFileReader : public ls::standard::core::Class, public ls::standard::core::interface_type::IReader
   {
     public:
 
-      explicit SectionPairFileReader(const ls::std::io::SectionPairFileReaderParameter &_parameter);
+      explicit SectionPairFileReader(const ls::standard::io::SectionPairFileReaderParameter &_parameter);
       ~SectionPairFileReader() noexcept override;
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairDocument> getDocument() const;
-      ls::std::core::type::byte_field read() override; // nodiscard is optional here
+      [[nodiscard]] ::std::shared_ptr<ls::standard::io::SectionPairDocument> getDocument() const;
+      ls::standard::core::type::byte_field read() override; // nodiscard is optional here
 
     private:
 
-      ls::std::io::SectionPairFileReaderParameter parameter{};
+      ls::standard::io::SectionPairFileReaderParameter parameter{};
 
       void _checkFileExtension() const;
       void _createDocument();
       void _createFileExistenceEvaluator();
       void _createReader();
+      [[nodiscard]] static ::std::string _detectNewLine(const ls::standard::core::type::byte_field &_data);
   };
 }
 

+ 12 - 11
include/ls-std/io/section-pair/reader/SectionPairFileReaderParameter.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -23,7 +24,7 @@
  * @doc: io.SectionPairFileReaderParameter.description('This class holds evaluators and the document instance for Section Pair file reading.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   class LS_STD_DYNAMIC_GOAL SectionPairFileReaderParameter
   {
@@ -32,21 +33,21 @@ namespace ls::std::io
       SectionPairFileReaderParameter();
       ~SectionPairFileReaderParameter();
 
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::SectionPairDocument> getDocument() const;
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::interface_type::IEvaluator> getFileExistenceEvaluator() const;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::io::SectionPairDocument> getDocument() const;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::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);
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::interface_type::IReader> getReader() const;
+      void setDocument(const ::std::shared_ptr<ls::standard::io::SectionPairDocument> &_document);
+      void setFileExistenceEvaluator(const ::std::shared_ptr<ls::standard::core::interface_type::IEvaluator> &_fileExistenceEvaluator);
       void setFilePath(::std::string_view _filePath);
-      void setReader(const ::std::shared_ptr<ls::std::core::interface_type::IReader> &_reader);
+      void setReader(const ::std::shared_ptr<ls::standard::core::interface_type::IReader> &_reader);
 
     private:
 
-      ::std::shared_ptr<ls::std::io::SectionPairDocument> document{};
-      ::std::shared_ptr<ls::std::core::interface_type::IEvaluator> fileExistenceEvaluator{};
+      ::std::shared_ptr<ls::standard::io::SectionPairDocument> document{};
+      ::std::shared_ptr<ls::standard::core::interface_type::IEvaluator> fileExistenceEvaluator{};
       ::std::string filePath{};
-      ::std::shared_ptr<ls::std::core::interface_type::IReader> reader{};
+      ::std::shared_ptr<ls::standard::core::interface_type::IReader> reader{};
   };
 }
 

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-16
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -22,27 +23,27 @@
  * @doc: io.SerializableSectionPairDocument.description('This class can serialize a Section Pair document for file persistence.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SerializableSectionPairDocument : public ls::std::core::interface_type::ISerializable, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL SerializableSectionPairDocument : public ls::standard::core::interface_type::ISerializable, public ls::standard::core::Class
   {
     public:
 
-      explicit SerializableSectionPairDocument(const ls::std::io::SerializableSectionPairParameter &_parameter);
+      explicit SerializableSectionPairDocument(const ls::standard::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairDocument() noexcept override;
 
-      [[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;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::Class> getValue() const;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ls::std::io::SerializableSectionPairParameter parameter{};
+      ls::standard::io::SerializableSectionPairParameter parameter{};
 
-      [[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) const;
+      [[nodiscard]] ls::standard::core::type::byte_field _getCurrentRow(size_t _iterations, ::std::string_view _serializedDocument) const;
+      [[nodiscard]] ls::standard::core::type::byte_field _getNextSerializedSection(const ls::standard::core::type::byte_field &_serializedDocument) const;
       [[nodiscard]] bool _isNotNewSection(::std::string_view _currentRow) const;
-      void _addSection(const ls::std::core::type::byte_field &_serializedSection) const;
+      void _addSection(const ls::standard::core::type::byte_field &_serializedSection) const;
   };
 }
 

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-17
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,7 +22,7 @@
  * @doc: io.SerializableSectionPairParameter.description('This class is holding information for Section Pair serialization.')
  */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
   class LS_STD_DYNAMIC_GOAL SerializableSectionPairParameter
   {
@@ -31,14 +32,14 @@ namespace ls::std::io
       ~SerializableSectionPairParameter();
 
       [[nodiscard]] ::std::string getNewLine() const;
-      [[nodiscard]] ::std::shared_ptr<ls::std::core::Class> getValue() const;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::Class> getValue() const;
       void setNewLine(::std::string_view _newLine);
-      void setValue(const ::std::shared_ptr<ls::std::core::Class> &_value);
+      void setValue(const ::std::shared_ptr<ls::standard::core::Class> &_value);
 
     private:
 
       ::std::string parseNewLine{};
-      ::std::shared_ptr<ls::std::core::Class> value{};
+      ::std::shared_ptr<ls::standard::core::Class> value{};
   };
 }
 

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -22,26 +23,26 @@
  * @doc: io.SerializableSectionPairRow.description('This class can serialize a Section Pair row for file persistence.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SerializableSectionPairRow : public ls::std::core::interface_type::ISerializable, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL SerializableSectionPairRow : public ls::standard::core::interface_type::ISerializable, public ls::standard::core::Class
   {
     public:
 
-      explicit SerializableSectionPairRow(const ls::std::io::SerializableSectionPairParameter &_parameter);
+      explicit SerializableSectionPairRow(const ls::standard::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairRow() noexcept override;
 
-      [[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;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::Class> getValue() const;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ls::std::io::SerializableSectionPairParameter parameter{};
+      ls::standard::io::SerializableSectionPairParameter parameter{};
 
       [[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;
+      void _unmarshalListValue(const ls::standard::core::type::byte_field &_data) const;
+      void _unmarshalSingleValue(const ls::standard::core::type::byte_field &_data) const;
   };
 }
 

+ 10 - 9
include/ls-std/io/section-pair/serialization/SerializableSectionPairRowListValue.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -22,25 +23,25 @@
  * @doc: io.SerializableSectionPairRowListValue.description('This class can serialize a Section Pair row list value for file persistence.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SerializableSectionPairRowListValue : public ls::std::core::interface_type::ISerializable, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL SerializableSectionPairRowListValue : public ls::standard::core::interface_type::ISerializable, public ls::standard::core::Class
   {
     public:
 
-      explicit SerializableSectionPairRowListValue(const ls::std::io::SerializableSectionPairParameter &_parameter);
+      explicit SerializableSectionPairRowListValue(const ls::standard::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairRowListValue() noexcept override;
 
-      [[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;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::Class> getValue() const;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ls::std::io::SerializableSectionPairParameter parameter{};
+      ls::standard::io::SerializableSectionPairParameter parameter{};
 
       [[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;
+      void _updateSearchText(::std::string::size_type _position, ls::standard::core::type::byte_field &_searchText) const;
   };
 }
 

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

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-11
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,22 +22,22 @@
  * @doc: io.SerializableSectionPairRowSingleValue.description('This class can serialize a Section Pair single value for file persistence.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SerializableSectionPairRowSingleValue : public ls::std::core::interface_type::ISerializable, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL SerializableSectionPairRowSingleValue : public ls::standard::core::interface_type::ISerializable, public ls::standard::core::Class
   {
     public:
 
-      explicit SerializableSectionPairRowSingleValue(const ls::std::io::SerializableSectionPairParameter &_parameter);
+      explicit SerializableSectionPairRowSingleValue(const ls::standard::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairRowSingleValue() noexcept override;
 
-      [[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;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::Class> getValue() const;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ls::std::io::SerializableSectionPairParameter parameter{};
+      ls::standard::io::SerializableSectionPairParameter parameter{};
   };
 }
 

+ 19 - 18
include/ls-std/io/section-pair/serialization/SerializableSectionPairSection.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-14
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -22,37 +23,37 @@
  * @doc: io.SerializableSectionPairSection.description('This class can serialize a Section Pair section for file persistence.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SerializableSectionPairSection : public ls::std::core::interface_type::ISerializable, public ls::std::core::Class
+  class LS_STD_DYNAMIC_GOAL SerializableSectionPairSection : public ls::standard::core::interface_type::ISerializable, public ls::standard::core::Class
   {
     public:
 
-      explicit SerializableSectionPairSection(const ls::std::io::SerializableSectionPairParameter &_parameter);
+      explicit SerializableSectionPairSection(const ls::standard::io::SerializableSectionPairParameter &_parameter);
       ~SerializableSectionPairSection() noexcept override;
 
-      [[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;
+      [[nodiscard]] ::std::shared_ptr<ls::standard::core::Class> getValue() const;
+      [[nodiscard]] ls::standard::core::type::byte_field marshal() override;
+      void unmarshal(const ls::standard::core::type::byte_field &_data) override;
 
     private:
 
-      ls::std::io::SerializableSectionPairParameter parameter{};
+      ls::standard::io::SerializableSectionPairParameter parameter{};
 
-      [[nodiscard]] ls::std::core::type::byte_field _collectSectionRow(const ls::std::core::type::byte_field &_currentRows, ls::std::io::SectionPairRowEnumType &_type) const;
-      [[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]] ls::standard::core::type::byte_field _collectSectionRow(const ls::standard::core::type::byte_field &_currentRows, ls::standard::io::SectionPairRowEnumType &_type) const;
+      [[nodiscard]] ls::standard::core::type::byte_field _collectSectionListValueRow(const core::type::byte_field &_currentRows, ls::standard::io::SectionPairRowEnumType &_type) const;
+      [[nodiscard]] static core::type::byte_field _collectSectionSingleValueRow(const ls::standard::core::type::byte_field &_firstRow, ls::standard::io::SectionPairRowEnumType &type);
       [[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]] ls::standard::core::type::byte_field _getSectionHeader(const ls::standard::core::type::byte_field &_data) const;
+      [[nodiscard]] static ls::standard::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(::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) const;
-      [[nodiscard]] size_t _unmarshalSectionHeader(const ls::std::core::type::byte_field &_data) const;
+      [[nodiscard]] ls::standard::core::type::byte_field _marshalRows() const;
+      [[nodiscard]] ls::standard::core::type::byte_field _marshalSectionId() const;
+      void _unmarshalRow(const ::std::string &_sectionRow, ls::standard::io::SectionPairRowEnumType _type) const;
+      void _unmarshalRows(const ls::standard::core::type::byte_field &_serializedRows) const;
+      [[nodiscard]] size_t _unmarshalSectionHeader(const ls::standard::core::type::byte_field &_data) const;
   };
 }
 

+ 5 - 4
include/ls-std/io/section-pair/type/SectionPairDocumentTypes.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-15
-* Changed:         2023-02-15
+* Changed:         2026-06-23
 *
 * */
 
@@ -14,10 +15,10 @@
 #include <ls-std/io/section-pair/model/SectionPairSection.hpp>
 #include <memory>
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  using section_pair_document_section_list_element = ::std::shared_ptr<ls::std::io::SectionPairSection>;
-  using section_pair_document_section_list = ::std::list<ls::std::io::section_pair_document_section_list_element>;
+  using section_pair_document_section_list_element = ::std::shared_ptr<ls::standard::io::SectionPairSection>;
+  using section_pair_document_section_list = ::std::list<ls::standard::io::section_pair_document_section_list_element>;
 }
 
 #endif

+ 5 - 4
include/ls-std/io/section-pair/type/SectionPairSectionTypes.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-13
-* Changed:         2023-02-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -14,10 +15,10 @@
 #include <ls-std/io/section-pair/model/SectionPairRow.hpp>
 #include <memory>
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  using section_pair_row_list_element = ::std::shared_ptr<ls::std::io::SectionPairRow>;
-  using section_pair_row_list = ::std::list<ls::std::io::section_pair_row_list_element>;
+  using section_pair_row_list_element = ::std::shared_ptr<ls::standard::io::SectionPairRow>;
+  using section_pair_row_list = ::std::list<ls::standard::io::section_pair_row_list_element>;
 }
 
 #endif

+ 4 - 3
include/ls-std/io/section-pair/validator/SectionPairDocumentValidator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: io.SectionPairDocumentValidator.description('This validator checks whether a content is a valid Section Pair document.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairDocumentValidator : public ls::std::core::Class, public ls::std::core::interface_type::IValidator
+  class LS_STD_DYNAMIC_GOAL SectionPairDocumentValidator : public ls::standard::core::Class, public ls::standard::core::interface_type::IValidator
   {
     public:
 

+ 4 - 3
include/ls-std/io/section-pair/validator/SectionPairFileExtensionValidator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-21
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -20,9 +21,9 @@
  * @doc: io.SectionPairFileExtensionValidator.description('This validator checks whether a file name has a valid Section Pair file extension.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairFileExtensionValidator : public ls::std::core::Class, public ls::std::core::interface_type::IValidator
+  class LS_STD_DYNAMIC_GOAL SectionPairFileExtensionValidator : public ls::standard::core::Class, public ls::standard::core::interface_type::IValidator
   {
     public:
 

+ 6 - 5
include/ls-std/io/section-pair/validator/SectionPairIdentifierValidator.hpp

@@ -1,9 +1,10 @@
 /*
 * Author:          Patrick-Christopher Mattulat
+* Co-Author:       Claude Sonnet 4.6 (LLM)
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-02-09
-* Changed:         2024-09-13
+* Changed:         2026-06-23
 *
 * */
 
@@ -21,13 +22,13 @@
  * @doc: io.SectionPairIdentifierValidator.description('This validator checks whether a string is a valid Section Pair identifier.')
  * */
 
-namespace ls::std::io
+namespace ls::standard::io
 {
-  class LS_STD_DYNAMIC_GOAL SectionPairIdentifierValidator : public ls::std::core::Class, public ls::std::core::interface_type::IValidator
+  class LS_STD_DYNAMIC_GOAL SectionPairIdentifierValidator : public ls::standard::core::Class, public ls::standard::core::interface_type::IValidator
   {
     public:
 
-      explicit SectionPairIdentifierValidator(ls::std::io::section_pair_identifier _identifier);
+      explicit SectionPairIdentifierValidator(ls::standard::io::section_pair_identifier _identifier);
       ~SectionPairIdentifierValidator() noexcept override;
 
       [[nodiscard]] static ::std::string getValidationRegex();
@@ -35,7 +36,7 @@ namespace ls::std::io
 
     private:
 
-      ls::std::io::section_pair_identifier identifier{};
+      ls::standard::io::section_pair_identifier identifier{};
 
       [[nodiscard]] static ::std::string _getValidationRegex();
   };

Деякі файли не було показано, через те що забагато файлів було змінено