ソースを参照

Improve namespace layout for "logic" module

Patrick-Christopher Mattulat 1 年間 前
コミット
319bdf1fea

+ 27 - 33
include/ls_std/logic/State.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-05
- * Changed:         2022-07-01
+ * Changed:         2022-07-02
  *
  * */
 
@@ -18,40 +18,34 @@
 #include <ls_std/core/interface/ISerializable.hpp>
 #include <ls_std/os/dynamic_goal.hpp>
 
-namespace ls
+namespace ls::std::logic
 {
-  namespace std
+  class DYNAMIC_GOAL State : public ls::std::core::Class
   {
-    namespace logic
-    {
-      class DYNAMIC_GOAL State : public ls::std::core::Class
-      {
-        public:
-
-          explicit State(const ls::std::core::type::state_id &_id);
-          ~State() override = default;
-
-          // additional functionality
-
-          bool addStateConnection(const ls::std::core::type::state_connection_id &_connectionId, const ::std::shared_ptr<ls::std::logic::State> &_connectedState);
-          bool addStateConnection(const ::std::shared_ptr<ls::std::logic::StateConnection> &_connection);
-          void clearConnections();
-          ::std::unordered_map<ls::std::core::type::state_connection_id, ::std::shared_ptr<ls::std::logic::StateConnection>> getConnectedStates();
-          ls::std::core::type::state_id getId();
-          bool hasConnection(const ls::std::core::type::state_connection_id &_connectionId);
-          void setId(const ls::std::core::type::state_id &_id);
-
-        private:
-
-          ::std::unordered_map<ls::std::core::type::state_connection_id, ::std::shared_ptr<ls::std::logic::StateConnection>> connectedStates{};
-          ls::std::core::type::state_id id{};
-
-          void _assignStateId(const ls::std::core::type::state_id &_id);
-          void _clearConnections();
-          bool _hasConnection(const ls::std::core::type::state_connection_id &_connectionId);
-      };
-    }
-  }
+    public:
+
+      explicit State(const ls::std::core::type::state_id &_id);
+      ~State() override = default;
+
+      // additional functionality
+
+      bool addStateConnection(const ls::std::core::type::state_connection_id &_connectionId, const ::std::shared_ptr<ls::std::logic::State> &_connectedState);
+      bool addStateConnection(const ::std::shared_ptr<ls::std::logic::StateConnection> &_connection);
+      void clearConnections();
+      ::std::unordered_map<ls::std::core::type::state_connection_id, ::std::shared_ptr<ls::std::logic::StateConnection>> getConnectedStates();
+      ls::std::core::type::state_id getId();
+      bool hasConnection(const ls::std::core::type::state_connection_id &_connectionId);
+      void setId(const ls::std::core::type::state_id &_id);
+
+    private:
+
+      ::std::unordered_map<ls::std::core::type::state_connection_id, ::std::shared_ptr<ls::std::logic::StateConnection>> connectedStates{};
+      ls::std::core::type::state_id id{};
+
+      void _assignStateId(const ls::std::core::type::state_id &_id);
+      void _clearConnections();
+      bool _hasConnection(const ls::std::core::type::state_connection_id &_connectionId);
+  };
 }
 
 #endif

+ 24 - 30
include/ls_std/logic/StateConnection.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-10
- * Changed:         2022-07-01
+ * Changed:         2022-07-02
  *
  * */
 
@@ -15,37 +15,31 @@
 #include <ls_std/core/types/StateMachineTypes.hpp>
 #include <ls_std/os/dynamic_goal.hpp>
 
-namespace ls
+namespace ls::std::logic
 {
-  namespace std
+  class DYNAMIC_GOAL StateConnection : public ls::std::core::Class
   {
-    namespace logic
-    {
-      class DYNAMIC_GOAL StateConnection : public ls::std::core::Class
-      {
-        public:
-
-          explicit StateConnection(const ls::std::core::type::state_connection_id &_connectionId, const ls::std::core::type::state_id &_stateId);
-          ~StateConnection() override = default;
-
-          ls::std::core::type::state_connection_id getConnectionId();
-          ls::std::core::type::state_id getStateId();
-          bool isPassable() const;
-          void setConnectionId(const ls::std::core::type::state_connection_id &_connectionId);
-          void setStateId(const ls::std::core::type::state_id &_stateId);
-          void updatePassCondition(bool _condition);
-
-        private:
-
-          bool condition{};
-          ls::std::core::type::state_connection_id connectionId{};
-          ls::std::core::type::state_id stateId{};
-
-          void _assignConnectionId(const ls::std::core::type::state_connection_id &_connectionId);
-          void _assignStateId(const ls::std::core::type::state_id &_stateId);
-      };
-    }
-  }
+    public:
+
+      explicit StateConnection(const ls::std::core::type::state_connection_id &_connectionId, const ls::std::core::type::state_id &_stateId);
+      ~StateConnection() override = default;
+
+      ls::std::core::type::state_connection_id getConnectionId();
+      ls::std::core::type::state_id getStateId();
+      bool isPassable() const;
+      void setConnectionId(const ls::std::core::type::state_connection_id &_connectionId);
+      void setStateId(const ls::std::core::type::state_id &_stateId);
+      void updatePassCondition(bool _condition);
+
+    private:
+
+      bool condition{};
+      ls::std::core::type::state_connection_id connectionId{};
+      ls::std::core::type::state_id stateId{};
+
+      void _assignConnectionId(const ls::std::core::type::state_connection_id &_connectionId);
+      void _assignStateId(const ls::std::core::type::state_id &_stateId);
+  };
 }
 
 #endif

+ 32 - 38
include/ls_std/logic/StateMachine.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-05
- * Changed:         2022-07-01
+ * Changed:         2022-07-02
  *
  * */
 
@@ -19,45 +19,39 @@
 #include <ls_std/core/types/StateMachineTypes.hpp>
 #include <ls_std/os/dynamic_goal.hpp>
 
-namespace ls
+namespace ls::std::logic
 {
-  namespace std
+  class DYNAMIC_GOAL StateMachine : public ls::std::core::Class
   {
-    namespace logic
-    {
-      class DYNAMIC_GOAL StateMachine : public ls::std::core::Class
-      {
-        public:
-
-          explicit StateMachine(const ::std::string &_name);
-          ~StateMachine() override = default;
-
-          bool addState(const ::std::shared_ptr<ls::std::logic::State> &_state);
-          ::std::shared_ptr<ls::std::logic::State> getCurrentState();
-          ::std::vector<ls::std::core::type::state_id> getMemory();
-          ::std::string getName();
-          ::std::unordered_map<ls::std::core::type::state_id, ::std::shared_ptr<ls::std::logic::State>> getStates();
-          bool hasState(const ls::std::core::type::state_id &_id);
-          bool proceed();
-          void setMemory(const ::std::vector<ls::std::core::type::state_id> &_memory);
-          void setName(const ::std::string &_name);
-          bool setStartState(const ls::std::core::type::state_id &_id);
-
-        private:
-
-          ::std::shared_ptr<ls::std::logic::State> currentState{};
-          ::std::vector<ls::std::core::type::state_id> memory{};
-          ::std::string name{};
-          ::std::unordered_map<ls::std::core::type::state_id, ::std::shared_ptr<ls::std::logic::State>> states{};
-
-          void _assignMemory(const ::std::vector<ls::std::core::type::state_id> &_memory);
-          void _assignName(const ::std::string &_name);
-          ::std::vector<ls::std::core::type::state_id> _getNextValidStates();
-          void _remember(const ls::std::core::type::state_id &_id);
-          bool _hasState(const ls::std::core::type::state_id &_id);
-      };
-    }
-  }
+    public:
+
+      explicit StateMachine(const ::std::string &_name);
+      ~StateMachine() override = default;
+
+      bool addState(const ::std::shared_ptr<ls::std::logic::State> &_state);
+      ::std::shared_ptr<ls::std::logic::State> getCurrentState();
+      ::std::vector<ls::std::core::type::state_id> getMemory();
+      ::std::string getName();
+      ::std::unordered_map<ls::std::core::type::state_id, ::std::shared_ptr<ls::std::logic::State>> getStates();
+      bool hasState(const ls::std::core::type::state_id &_id);
+      bool proceed();
+      void setMemory(const ::std::vector<ls::std::core::type::state_id> &_memory);
+      void setName(const ::std::string &_name);
+      bool setStartState(const ls::std::core::type::state_id &_id);
+
+    private:
+
+      ::std::shared_ptr<ls::std::logic::State> currentState{};
+      ::std::vector<ls::std::core::type::state_id> memory{};
+      ::std::string name{};
+      ::std::unordered_map<ls::std::core::type::state_id, ::std::shared_ptr<ls::std::logic::State>> states{};
+
+      void _assignMemory(const ::std::vector<ls::std::core::type::state_id> &_memory);
+      void _assignName(const ::std::string &_name);
+      ::std::vector<ls::std::core::type::state_id> _getNextValidStates();
+      void _remember(const ls::std::core::type::state_id &_id);
+      bool _hasState(const ls::std::core::type::state_id &_id);
+  };
 }
 
 #endif

+ 21 - 27
include/ls_std/logic/serialization/SerializableJsonState.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-15
- * Changed:         2022-07-01
+ * Changed:         2022-07-02
  *
  * */
 
@@ -17,42 +17,36 @@
 #include <ls_std/core/Class.hpp>
 #include <ls_std/os/dynamic_goal.hpp>
 
-namespace ls
+namespace ls::std::logic
 {
-  namespace std
+  class DYNAMIC_GOAL SerializableJsonState : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
   {
-    namespace logic
-    {
-      class DYNAMIC_GOAL SerializableJsonState : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
-      {
-        public:
+    public:
 
-          explicit SerializableJsonState(const ::std::shared_ptr<ls::std::logic::State> &_value);
-          ~SerializableJsonState() override = default;
+      explicit SerializableJsonState(const ::std::shared_ptr<ls::std::logic::State> &_value);
+      ~SerializableJsonState() override = default;
 
-          // implementation
+      // implementation
 
-          ls::std::core::type::byte_field marshal() override;
-          void unmarshal(const ls::std::core::type::byte_field &_data) override;
+      ls::std::core::type::byte_field marshal() override;
+      void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
-          // additional functionality
+      // additional functionality
 
-          ::std::shared_ptr<ls::std::logic::State> getValue();
-          void setValue(const ::std::shared_ptr<ls::std::logic::State> &_value);
+      ::std::shared_ptr<ls::std::logic::State> getValue();
+      void setValue(const ::std::shared_ptr<ls::std::logic::State> &_value);
 
-        private:
+    private:
 
-          nlohmann::json jsonObject{};
-          ::std::shared_ptr<ls::std::logic::State> value{};
+      nlohmann::json jsonObject{};
+      ::std::shared_ptr<ls::std::logic::State> value{};
 
-          void _assignValue(const ::std::shared_ptr<ls::std::logic::State> &_value);
-          void _clear();
-          void _unmarshalStateConnections();
-          void _update();
-          void _updateStateConnections();
-      };
-    }
-  }
+      void _assignValue(const ::std::shared_ptr<ls::std::logic::State> &_value);
+      void _clear();
+      void _unmarshalStateConnections();
+      void _update();
+      void _updateStateConnections();
+  };
 }
 
 #endif

+ 19 - 25
include/ls_std/logic/serialization/SerializableJsonStateConnection.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-14
- * Changed:         2022-07-01
+ * Changed:         2022-07-02
  *
  * */
 
@@ -17,40 +17,34 @@
 #include <ls_std/logic/StateConnection.hpp>
 #include <ls_std/os/dynamic_goal.hpp>
 
-namespace ls
+namespace ls::std::logic
 {
-  namespace std
+  class DYNAMIC_GOAL SerializableJsonStateConnection : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
   {
-    namespace logic
-    {
-      class DYNAMIC_GOAL SerializableJsonStateConnection : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
-      {
-        public:
+    public:
 
-          explicit SerializableJsonStateConnection(const ::std::shared_ptr<ls::std::logic::StateConnection> &_value);
-          ~SerializableJsonStateConnection() override = default;
+      explicit SerializableJsonStateConnection(const ::std::shared_ptr<ls::std::logic::StateConnection> &_value);
+      ~SerializableJsonStateConnection() override = default;
 
-          // implementation
+      // implementation
 
-          ls::std::core::type::byte_field marshal() override;
-          void unmarshal(const ls::std::core::type::byte_field &_data) override;
+      ls::std::core::type::byte_field marshal() override;
+      void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
-          // additional functionality
+      // additional functionality
 
-          ::std::shared_ptr<ls::std::logic::StateConnection> getValue();
-          void setValue(const ::std::shared_ptr<ls::std::logic::StateConnection> &_value);
+      ::std::shared_ptr<ls::std::logic::StateConnection> getValue();
+      void setValue(const ::std::shared_ptr<ls::std::logic::StateConnection> &_value);
 
-        private:
+    private:
 
-          nlohmann::json jsonObject{};
-          ::std::shared_ptr<ls::std::logic::StateConnection> value{};
+      nlohmann::json jsonObject{};
+      ::std::shared_ptr<ls::std::logic::StateConnection> value{};
 
-          void _assignValue(const ::std::shared_ptr<ls::std::logic::StateConnection> &_value);
-          void _clear();
-          void _update();
-      };
-    }
-  }
+      void _assignValue(const ::std::shared_ptr<ls::std::logic::StateConnection> &_value);
+      void _clear();
+      void _update();
+  };
 }
 
 #endif

+ 22 - 28
include/ls_std/logic/serialization/SerializableJsonStateMachine.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-17
- * Changed:         2022-07-01
+ * Changed:         2022-07-02
  *
  * */
 
@@ -17,43 +17,37 @@
 #include <ls_std/lib/nlohmann_json/include/nlohmann/json.hpp>
 #include <ls_std/os/dynamic_goal.hpp>
 
-namespace ls
+namespace ls::std::logic
 {
-  namespace std
+  class DYNAMIC_GOAL SerializableJsonStateMachine : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
   {
-    namespace logic
-    {
-      class DYNAMIC_GOAL SerializableJsonStateMachine : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
-      {
-        public:
+    public:
 
-          explicit SerializableJsonStateMachine(const ::std::shared_ptr<ls::std::logic::StateMachine> &_value);
-          ~SerializableJsonStateMachine() override = default;
+      explicit SerializableJsonStateMachine(const ::std::shared_ptr<ls::std::logic::StateMachine> &_value);
+      ~SerializableJsonStateMachine() override = default;
 
-          // implementation
+      // implementation
 
-          ls::std::core::type::byte_field marshal() override;
-          void unmarshal(const ls::std::core::type::byte_field &_data) override;
+      ls::std::core::type::byte_field marshal() override;
+      void unmarshal(const ls::std::core::type::byte_field &_data) override;
 
-          // additional functionality
+      // additional functionality
 
-          ::std::shared_ptr<ls::std::logic::StateMachine> getValue();
-          void setValue(const ::std::shared_ptr<ls::std::logic::StateMachine> &_value);
+      ::std::shared_ptr<ls::std::logic::StateMachine> getValue();
+      void setValue(const ::std::shared_ptr<ls::std::logic::StateMachine> &_value);
 
-        private:
+    private:
 
-          nlohmann::json jsonObject{};
-          ::std::shared_ptr<ls::std::logic::StateMachine> value{};
+      nlohmann::json jsonObject{};
+      ::std::shared_ptr<ls::std::logic::StateMachine> value{};
 
-          void _assignValue(const ::std::shared_ptr<ls::std::logic::StateMachine> &_value);
-          void _unmarshalCurrentState();
-          void _unmarshalStates();
-          void _update();
-          void _updateCurrentState();
-          void _updateStates();
-      };
-    }
-  }
+      void _assignValue(const ::std::shared_ptr<ls::std::logic::StateMachine> &_value);
+      void _unmarshalCurrentState();
+      void _unmarshalStates();
+      void _update();
+      void _updateCurrentState();
+      void _updateStates();
+  };
 }
 
 #endif