ISystems is an interface for all systems within the ECS architecture. Each system must inherit from this interface and implement a specific method.

Allows systems to manipulate entities and their components using a defined operator, in order to execute the logic specific to each system (e.g., movement management, collision handling, etc.).

namespace ecs {
    namespace systems {
        class ISystems {
          public:
            virtual void operator()(Registry &, std::shared_ptr<IContext> ctx) = 0;
        };
    }; // namespace systems
}; // namespace ecs

Method: operator()