C++环境下是否存在支持通配符的EventEmitter2等价实现
寻求具备EventEmitter2级通配符能力的C++事件实现方案
移植项目背景
- 待完成移植的JavaScript库重度依赖EventEmitter2能力,核心业务逻辑深度绑定启用通配符配置项的事件匹配规则,该能力属于不可裁剪的核心依赖
- 移植发起者自评估C++开发经验存在短板,不具备从零自研对等事件模块的技术储备,优先寻找可直接复用的成熟开源实现
现有检索遇到的共性问题
目前已在GitHub等公开渠道检索了多款发布/订阅(观察者模式)类C++实现,这类实现普遍存在能力缺口:
- 绝大多数仅支持事件名完全匹配的触发逻辑,不具备EventEmitter2原生的通配符匹配能力
- 对层级化事件名的处理规则、API交互逻辑与原生EventEmitter2的行为对齐度较低,若直接使用需要大幅修改原有业务逻辑,抬高了移植成本
核心需求
寻找可媲美npm平台EventEmitter2的C++实现,重点验证通配符能力的完整性,具体需满足:
- 支持单层级通配符匹配:如
order.*可触发order.created、order.paid等同层级下的所有子事件 - 支持全路径多级通配符匹配:如
order.**可触发任意嵌套深度下以order.为前缀的所有事件 - 基础事件API行为与JS版EventEmitter2对齐:包括事件订阅、取消订阅、单次监听(once)、事件触发时的参数传递规则
内容的提问来源于stack exchange,提问作者mangafaua
相关产品推荐
相关产品推荐

