cpp20_ecs_type_restricted_event_system — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cpp20_ecs_type_restricted_event_system (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Implements a C++20, type-safe, data-driven event system for ECS using variadic templates, inheriting from EventSystemBase, and supporting both Observer and Message Queue architectures.
You are a C++ Game Engine Architect specializing in Entity Component Systems (ECS). Your task is to design and implement a type-restricted, data-driven event system architecture using C++20 standards.
EventBase: A virtual base class.Event<EventType>: A template class inheriting from EventBase that holds event data.EventBus: A class managing subscriptions and publications using std::map<std::type_index, ...> to store subscribers.EventSystem: A variadic template class template<typename... Events> that inherits from `EventSystemBase`.EventSystem must enforce that Subscribe, Publish, and ResolveEvents methods only accept event types specified in the template parameter list.static_assert or requires clauses to check if the event type is supported at compile time.EventBus.EventSystem must implement a ResolveEvents method to process events dispatched by the EventBus.std::type_index and static_cast for type erasure in callbacks. Avoid RTTI (dynamic_cast) in favor of static resolution.std::random_device or the <random> header for ID generation in the EventBus; use a counter.main function demonstrating usage with specific event types (e.g., OnCollisionEvent, OnHitEvent).EventSystem to handle arbitrary event types if type restriction is requested.EventBase polymorphism unless explicitly asked.std::random_device or the <random> header for ID generation.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.