相关想法以及lib

Lua 有想过用reflection实现lua binding,但没想过反过来
moc依赖于qt的lib,不考虑了
https://github.com/rttrorg/rttr VS2013 build ok
http://preshing.com/20180116/a-primitive-reflection-system-in-cpp-part-1/
https://github.com/chakaz/reflang
http://www.extreme.indiana.edu/reflcpp/
http://preshing.com/20180124/a-flexible-reflection-system-in-cpp-part-2/
http://www.cs.sjsu.edu/faculty/pearce/modules/lectures/oop/types/reflection/prototype.htm
Dispatch COM
https://chinbilly.blogspot.com/2016/03/ponder-c-reflection.html
http://cpgf.org/document/index.html
http://donw.io/post/reflection-cpp-1/
http://www.vollmann.com/en/pubs/meta/meta/meta.html
https://github.com/Manu343726/siplasplas uses a libclang based script to generate C++ code with all the metadata.
https://svn.boost.org/svn/boost/sandbox/mirror/doc/html/mirror.html#mirror.intro

相关测试

类型转换测试rttr

class string_wrapper {
std::string s_;
public:
string_wrapper(std::string s="") :s_(s) {
}
}; variant aa = ;
bool ok;
std::string aaa = aa.convert<std::string>(&ok); // OK string_wrapper bbb = aa.convert<string_wrapper>(&ok); //Fail

最新文章

  1. hdu 2222 Keywords Search
  2. angularjs 笔记(1) -- 引导
  3. uboot 各种烧写命令
  4. Android Design
  5. Bellman-Ford &amp; SPFA 算法——求解单源点最短路径问题
  6. 离线应用Application Cache详解
  7. Web程序发布后显示个性化图标
  8. css定义多重背景动画
  9. js设计模式系列之(一)请节约你的请求-代理模式
  10. notepad++中的zencoding的快捷键修改[转]
  11. 总线接口与计算机通信(三)UART起止式异步通用串行数据总线
  12. JQuery使用mousedown和mouseup简单判断鼠标按下与释放位置是否相同
  13. Oracle dba_tablespace_usage_metrics 视图 查看表空间 说明
  14. JavaScript基本语法2
  15. mysql常用的操作
  16. Java 8 中 ConcurrentHashMap工作原理的要点分析
  17. C语言程序设计预备作业。
  18. [Swift]LeetCode39. 组合总和 | Combination Sum
  19. 微软Ignite2018——微软宣布新的学习平台:Microsoft Learn
  20. x-www-form-urlencoded与multipart/form-data区别

热门文章

  1. ACM-ICPC 2018 徐州赛区网络预赛 G. Trace
  2. &lt;Consistency&gt;&lt;of HBase&gt;&lt;CAP&gt;&lt;ACID&gt;
  3. Android修行之路------List view无法获取监听方法
  4. 对象存储到session中
  5. strcmp,stricmp
  6. JAVA Collections.shuffle打乱列表
  7. IOS safari 浏览器 时间乱码(ios时间显示NaN) 问题解决
  8. Django之模板层-继承
  9. todolist待办事项
  10. 使用Git去管理修改