C++ 的属性和反射库?

2024-03-23

大多数成熟的 C++ 项目似乎都有自己的反射和属性系统,即用于定义可以通过字符串访问并自动序列化的属性。至少我参与的很多C++项目似乎都是这样的重新发明轮子.

你知道任何好的开源库对于支持反射和属性容器的 C++,具体来说:

  • 通过宏定义 RTTI 和属性
  • 通过代码访问 RTTI 和属性
  • 属性自动序列化
  • 监听属性修改(例如 OnValueChanged)

有一个新项目使用完全不同的方法在 C++ 中提供反射:CAMP. https://github.com/tegesoft/camp https://github.com/tegesoft/camp

CAMP 不使用预编译器,类/属性/函数/... 使用类似于 boost.python 或 luabind 的语法手动声明。当然,如果人们愿意,可以使用 gccxml 或 open-c++ 等预编译器来生成此声明。

它仅基于纯 C++ 和 boost 标头,并且由于模板元编程的强大功能,它支持任何类型的可绑定实体(例如,继承和奇怪的构造函数不是问题)。

它根据 MIT 许可证(以前为 LGPL)分发。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 的属性和反射库? 的相关文章

随机推荐