소스 검색

Split header and source files for core module

Patrick-Christopher Mattulat 2 년 전
부모
커밋
ccb9442732
42개의 변경된 파일383개의 추가작업 그리고 93개의 파일을 삭제
  1. 21 2
      CMakeLists.txt
  2. 2 2
      include/ls-std/core/Class.hpp
  3. 2 2
      include/ls-std/core/LibraryVersion.hpp
  4. 2 2
      include/ls-std/core/Version.hpp
  5. 4 6
      include/ls-std/core/exception/EventNotHandledException.hpp
  6. 4 6
      include/ls-std/core/exception/EventNotSubscribedException.hpp
  7. 4 6
      include/ls-std/core/exception/FileNotFoundException.hpp
  8. 4 6
      include/ls-std/core/exception/FileOperationException.hpp
  9. 4 6
      include/ls-std/core/exception/IllegalArgumentException.hpp
  10. 4 6
      include/ls-std/core/exception/IllegalArithmeticOperationException.hpp
  11. 4 6
      include/ls-std/core/exception/IncompleteJsonException.hpp
  12. 4 6
      include/ls-std/core/exception/NullPointerException.hpp
  13. 3 3
      include/ls-std/core/interface/IBoxing.hpp
  14. 4 1
      include/ls-std/core/interface/IEncoding.hpp
  15. 3 3
      include/ls-std/core/interface/IEventSubscriber.hpp
  16. 3 3
      include/ls-std/core/interface/IListener.hpp
  17. 3 3
      include/ls-std/core/interface/IReader.hpp
  18. 3 3
      include/ls-std/core/interface/ISerializable.hpp
  19. 3 3
      include/ls-std/core/interface/IStorable.hpp
  20. 3 3
      include/ls-std/core/interface/IWriter.hpp
  21. 4 9
      include/ls-std/core/utils/RegexUtils.hpp
  22. 2 2
      include/ls-std/core/utils/StlUtils.hpp
  23. 2 2
      include/ls-std/core/utils/WindowsUtils.hpp
  24. 3 1
      source/ls-std/core/Class.cpp
  25. 3 1
      source/ls-std/core/Version.cpp
  26. 19 0
      source/ls-std/core/exception/EventNotHandledException.cpp
  27. 19 0
      source/ls-std/core/exception/EventNotSubscribedException.cpp
  28. 19 0
      source/ls-std/core/exception/FileNotFoundException.cpp
  29. 19 0
      source/ls-std/core/exception/FileOperationException.cpp
  30. 19 0
      source/ls-std/core/exception/IllegalArgumentException.cpp
  31. 19 0
      source/ls-std/core/exception/IllegalArithmeticOperationException.cpp
  32. 19 0
      source/ls-std/core/exception/IncompleteJsonException.cpp
  33. 19 0
      source/ls-std/core/exception/NullPointerException.cpp
  34. 14 0
      source/ls-std/core/interface/IBoxing.cpp
  35. 14 0
      source/ls-std/core/interface/IEncoding.cpp
  36. 14 0
      source/ls-std/core/interface/IEventSubscriber.cpp
  37. 14 0
      source/ls-std/core/interface/IListener.cpp
  38. 14 0
      source/ls-std/core/interface/IReader.cpp
  39. 14 0
      source/ls-std/core/interface/ISerializable.cpp
  40. 14 0
      source/ls-std/core/interface/IStorable.cpp
  41. 14 0
      source/ls-std/core/interface/IWriter.cpp
  42. 21 0
      source/ls-std/core/utils/RegexUtils.cpp

+ 21 - 2
CMakeLists.txt

@@ -145,6 +145,23 @@ set(SOURCE_FILES_BOXING
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/boxing/String.cpp)
 
 set(SOURCE_FILES_CORE
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/EventNotHandledException.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/exception/EventNotSubscribedException.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/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/IEventSubscriber.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/IWriter.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/utils/RegexUtils.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Class.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Version.cpp)
 
@@ -414,9 +431,11 @@ endif ()
 # CLI base64
 
 add_executable(cli-base64
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/encoding/cli/cli-base64-main.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Version.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/IEncoding.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/interface/ISerializable.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/encoding/Base64.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/core/Version.cpp)
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/encoding/cli/cli-base64-main.cpp)
 
 ##########################################################
 # Build Library (event)

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -20,7 +20,7 @@ namespace ls::std::core
     public:
 
       explicit Class(const ::std::string &_name);
-      virtual ~Class() = default;
+      virtual ~Class();
 
       ::std::string getClassName();
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-05-02
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -14,7 +14,7 @@
 
 namespace ls::std::core
 {
-  static ::std::string getVersion()
+  static ::std::string getVersion() // TODO: create class to split up header / source files
   {
     return "2023.1.0";
   }

+ 2 - 2
include/ls-std/core/Version.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-27
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -22,7 +22,7 @@ namespace ls::std::core
     public:
 
       explicit Version(ls::std::core::type::version_type _majorVersion, ls::std::core::type::version_type _minorVersion, ls::std::core::type::version_type _patchVersion);
-      ~Version() = default;
+      ~Version();
 
       // implementation
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-05-27
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,12 +18,10 @@ namespace ls::std::core
   {
     public:
 
-      EventNotHandledException() = default;
+      EventNotHandledException();
+      ~EventNotHandledException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "EventNotHandledException thrown - event was not handled - nothing happened!";
-      };
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

+ 4 - 6
include/ls-std/core/exception/EventNotSubscribedException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-05-27
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,12 +18,10 @@ namespace ls::std::core
   {
     public:
 
-      EventNotSubscribedException() = default;
+      EventNotSubscribedException();
+      ~EventNotSubscribedException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "EventNotSubscribedException thrown - event was not subscribed!";
-      };
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -21,12 +21,10 @@ namespace ls::std::core
   {
     public:
 
-      FileNotFoundException() = default;
+      FileNotFoundException();
+      ~FileNotFoundException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "FileNotFoundException thrown - file not found!";
-      };
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -19,12 +19,10 @@ namespace ls::std::core
   {
     public:
 
-      explicit FileOperationException() = default;
+      FileOperationException();
+      ~FileOperationException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "FileOperationException thrown - file operation failed!";
-      }
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-09
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,12 +18,10 @@ namespace ls::std::core
   {
     public:
 
-      IllegalArgumentException() = default;
+      IllegalArgumentException();
+      ~IllegalArgumentException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "IllegalArgumentException thrown - passed argument is not valid!";
-      }
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,12 +18,10 @@ namespace ls::std::core
   {
     public:
 
-      IllegalArithmeticOperationException() = default;
+      IllegalArithmeticOperationException();
+      ~IllegalArithmeticOperationException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "IllegalArithmeticOperationException thrown - arithmetic operation is not allowed!";
-      }
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-04-30
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,12 +18,10 @@ namespace ls::std::core
   {
     public:
 
-      explicit IncompleteJsonException() = default;
+      IncompleteJsonException();
+      ~IncompleteJsonException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "IncompleteJsonException thrown - this JSON string is incomplete.";
-      }
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-06
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,12 +18,10 @@ namespace ls::std::core
   {
     public:
 
-      explicit NullPointerException() = default;
+      NullPointerException();
+      ~NullPointerException() override;
 
-      [[nodiscard]] const char *what() const noexcept override
-      {
-        return "NullPointerException thrown - reference is null!";
-      }
+      [[nodiscard]] const char *what() const noexcept override;
   };
 }
 

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,8 +18,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      IBoxing() = default;
-      ~IBoxing() = default;
+      IBoxing();
+      ~IBoxing();
 
       virtual void parse(::std::string _parseText) = 0;
       virtual ::std::string toString() = 0;

+ 4 - 1
include/ls-std/core/interface/IEncoding.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-01-03
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,6 +18,9 @@ namespace ls::std::core::interface_type
   {
     public:
 
+      IEncoding();
+      ~IEncoding();
+
       virtual ::std::string encode(const ::std::string &_sequence) = 0;
       virtual ::std::string decode(const ::std::string &_sequence) = 0;
   };

+ 3 - 3
include/ls-std/core/interface/IEventSubscriber.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-27
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -20,8 +20,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      IEventSubscriber() = default;
-      ~IEventSubscriber() = default;
+      IEventSubscriber();
+      ~IEventSubscriber();
 
       virtual void subscribe(const ls::std::core::type::event_id &_id, const ::std::shared_ptr<ls::std::core::interface_type::IListener> &_listener) = 0;
       virtual void unsubscribe(const ls::std::core::type::event_id &_id, const ::std::shared_ptr<ls::std::core::interface_type::IListener> &_listener) = 0;

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-14
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,8 +18,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      IListener() = default;
-      ~IListener() = default;
+      IListener();
+      ~IListener();
 
       virtual void listen(const ls::std::core::Class &_info) = 0;
   };

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,8 +18,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      IReader() = default;
-      ~IReader() = default;
+      IReader();
+      ~IReader();
 
       virtual ls::std::core::type::byte_field read() = 0;
   };

+ 3 - 3
include/ls-std/core/interface/ISerializable.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-21
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,8 +18,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      ISerializable() = default;
-      ~ISerializable() = default;
+      ISerializable();
+      ~ISerializable();
 
       virtual ls::std::core::type::byte_field marshal() = 0;
       virtual void unmarshal(const ls::std::core::type::byte_field &_data) = 0;

+ 3 - 3
include/ls-std/core/interface/IStorable.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-19
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -18,8 +18,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      IStorable() = default;
-      ~IStorable() = default;
+      IStorable();
+      ~IStorable();
 
       virtual ls::std::core::type::byte_field load() = 0;
       virtual void save(const ls::std::core::type::byte_field &_data) = 0;

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

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -19,8 +19,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      IWriter() = default;
-      ~IWriter() = default;
+      IWriter();
+      ~IWriter();
 
       virtual bool write(const ls::std::core::type::byte_field &_data) = 0;
   };

+ 4 - 9
include/ls-std/core/utils/RegexUtils.hpp

@@ -3,14 +3,13 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-18
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
 #ifndef LS_STD_REGEX_UTILS_HPP
 #define LS_STD_REGEX_UTILS_HPP
 
-#include <regex>
 #include <string>
 
 namespace ls::std::core
@@ -19,14 +18,10 @@ namespace ls::std::core
   {
     public:
 
-      RegexUtils() = default;
-      ~RegexUtils() = default;
+      RegexUtils();
+      ~RegexUtils();
 
-      static ::std::string escapeString(const ::std::string &_text)
-      {
-        static ::std::regex regexMetaEscape(R"(([\^\$\\\.\*\+\?\(\)\[\]\{\}\|]))");
-        return ::std::regex_replace(_text, regexMetaEscape, R"(\$1)");
-      }
+      static ::std::string escapeString(const ::std::string &_text);
   };
 }
 

+ 2 - 2
include/ls-std/core/utils/StlUtils.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -15,7 +15,7 @@
 
 namespace ls::std::core
 {
-  class StlUtils
+  class StlUtils // TODO: remove this class entirely
   {
     public:
 

+ 2 - 2
include/ls-std/core/utils/WindowsUtils.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-12-06
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -16,7 +16,7 @@
 
 namespace ls::std::core
 {
-  class WindowsUtils
+  class WindowsUtils // TODO: migrate to header / source split approach
   {
     public:
 

+ 3 - 1
source/ls-std/core/Class.cpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -15,6 +15,8 @@ ls::std::core::Class::Class(const ::std::string &_name)
   this->_assignClassName(_name);
 }
 
+ls::std::core::Class::~Class() = default;
+
 ::std::string ls::std::core::Class::getClassName()
 {
   return this->name;

+ 3 - 1
source/ls-std/core/Version.cpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-28
- * Changed:         2023-02-03
+ * Changed:         2023-02-04
  *
  * */
 
@@ -16,6 +16,8 @@ ls::std::core::Version::Version(ls::std::core::type::version_type _majorVersion,
       patchVersion(_patchVersion)
 {}
 
+ls::std::core::Version::~Version() = default;
+
 ls::std::core::type::byte_field ls::std::core::Version::marshal()
 {
   ls::std::core::type::byte_field data{};

+ 19 - 0
source/ls-std/core/exception/EventNotHandledException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/EventNotHandledException.hpp>
+
+ls::std::core::EventNotHandledException::EventNotHandledException() = default;
+
+ls::std::core::EventNotHandledException::~EventNotHandledException() = default;
+
+const char *ls::std::core::EventNotHandledException::what() const noexcept
+{
+  return "EventNotHandledException thrown - event was not handled - nothing happened!";
+}

+ 19 - 0
source/ls-std/core/exception/EventNotSubscribedException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/EventNotSubscribedException.hpp>
+
+ls::std::core::EventNotSubscribedException::EventNotSubscribedException() = default;
+
+ls::std::core::EventNotSubscribedException::~EventNotSubscribedException() = default;
+
+const char *ls::std::core::EventNotSubscribedException::what() const noexcept
+{
+  return "EventNotSubscribedException thrown - event was not subscribed!";
+}

+ 19 - 0
source/ls-std/core/exception/FileNotFoundException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/FileNotFoundException.hpp>
+
+ls::std::core::FileNotFoundException::FileNotFoundException() = default;
+
+ls::std::core::FileNotFoundException::~FileNotFoundException() = default;
+
+const char *ls::std::core::FileNotFoundException::what() const noexcept
+{
+  return "FileNotFoundException thrown - file not found!";
+}

+ 19 - 0
source/ls-std/core/exception/FileOperationException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/FileOperationException.hpp>
+
+ls::std::core::FileOperationException::FileOperationException() = default;
+
+ls::std::core::FileOperationException::~FileOperationException() = default;
+
+const char *ls::std::core::FileOperationException::what() const noexcept
+{
+  return "FileOperationException thrown - file operation failed!";
+}

+ 19 - 0
source/ls-std/core/exception/IllegalArgumentException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/IllegalArgumentException.hpp>
+
+ls::std::core::IllegalArgumentException::IllegalArgumentException() = default;
+
+ls::std::core::IllegalArgumentException::~IllegalArgumentException() = default;
+
+const char *ls::std::core::IllegalArgumentException::what() const noexcept
+{
+  return "IllegalArgumentException thrown - passed argument is not valid!";
+}

+ 19 - 0
source/ls-std/core/exception/IllegalArithmeticOperationException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/IllegalArithmeticOperationException.hpp>
+
+ls::std::core::IllegalArithmeticOperationException::IllegalArithmeticOperationException() = default;
+
+ls::std::core::IllegalArithmeticOperationException::~IllegalArithmeticOperationException() = default;
+
+const char *ls::std::core::IllegalArithmeticOperationException::what() const noexcept
+{
+  return "IllegalArithmeticOperationException thrown - arithmetic operation is not allowed!";
+}

+ 19 - 0
source/ls-std/core/exception/IncompleteJsonException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/IncompleteJsonException.hpp>
+
+ls::std::core::IncompleteJsonException::IncompleteJsonException() = default;
+
+ls::std::core::IncompleteJsonException::~IncompleteJsonException() = default;
+
+const char *ls::std::core::IncompleteJsonException::what() const noexcept
+{
+  return "IncompleteJsonException thrown - this JSON string is incomplete.";
+}

+ 19 - 0
source/ls-std/core/exception/NullPointerException.cpp

@@ -0,0 +1,19 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/exception/NullPointerException.hpp>
+
+ls::std::core::NullPointerException::NullPointerException() = default;
+
+ls::std::core::NullPointerException::~NullPointerException() = default;
+
+const char *ls::std::core::NullPointerException::what() const noexcept
+{
+  return "NullPointerException thrown - reference is null!";
+}

+ 14 - 0
source/ls-std/core/interface/IBoxing.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/IBoxing.hpp>
+
+ls::std::core::interface_type::IBoxing::IBoxing() = default;
+
+ls::std::core::interface_type::IBoxing::~IBoxing() = default;

+ 14 - 0
source/ls-std/core/interface/IEncoding.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/IEncoding.hpp>
+
+ls::std::core::interface_type::IEncoding::IEncoding() = default;
+
+ls::std::core::interface_type::IEncoding::~IEncoding() = default;

+ 14 - 0
source/ls-std/core/interface/IEventSubscriber.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/IEventSubscriber.hpp>
+
+ls::std::core::interface_type::IEventSubscriber::IEventSubscriber() = default;
+
+ls::std::core::interface_type::IEventSubscriber::~IEventSubscriber() = default;

+ 14 - 0
source/ls-std/core/interface/IListener.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/IListener.hpp>
+
+ls::std::core::interface_type::IListener::IListener() = default;
+
+ls::std::core::interface_type::IListener::~IListener() = default;

+ 14 - 0
source/ls-std/core/interface/IReader.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/IReader.hpp>
+
+ls::std::core::interface_type::IReader::IReader() = default;
+
+ls::std::core::interface_type::IReader::~IReader() = default;

+ 14 - 0
source/ls-std/core/interface/ISerializable.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/ISerializable.hpp>
+
+ls::std::core::interface_type::ISerializable::ISerializable() = default;
+
+ls::std::core::interface_type::ISerializable::~ISerializable() = default;

+ 14 - 0
source/ls-std/core/interface/IStorable.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/IStorable.hpp>
+
+ls::std::core::interface_type::IStorable::IStorable() = default;
+
+ls::std::core::interface_type::IStorable::~IStorable() = default;

+ 14 - 0
source/ls-std/core/interface/IWriter.cpp

@@ -0,0 +1,14 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/interface/IWriter.hpp>
+
+ls::std::core::interface_type::IWriter::IWriter() = default;
+
+ls::std::core::interface_type::IWriter::~IWriter() = default;

+ 21 - 0
source/ls-std/core/utils/RegexUtils.cpp

@@ -0,0 +1,21 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2023-02-04
+ * Changed:         2023-02-04
+ *
+ * */
+
+#include <ls-std/core/utils/RegexUtils.hpp>
+#include <regex>
+
+ls::std::core::RegexUtils::RegexUtils() = default;
+
+ls::std::core::RegexUtils::~RegexUtils() = default;
+
+::std::string ls::std::core::RegexUtils::escapeString(const ::std::string &_text)
+{
+  static ::std::regex regexMetaEscape(R"(([\^\$\\\.\*\+\?\(\)\[\]\{\}\|]))");
+  return ::std::regex_replace(_text, regexMetaEscape, R"(\$1)");
+}