Mirror C++ reflection library

分享到:
Mirror C++ 反射库提供了编译时和运行时的 C++ 程序元数据,例如命名空间、类型、枚举、类以及类成员和构造函数等。同时提供一些高级的工具用于类似工厂类生成器。
  • Reusability: The meta-data provided by Mirror is reusable in many situations and for many different purposes.
  • Flexibility: Mirror and the additional layers built on top of it allow to access the provided meta-data both at compile-time and run-time in a functional and object-oriented manner depending on the application needs.
  • Encapsulation: Mirror and the additional layers provide interfaces for easy access to program meta-data.
  • Stratification: Mirror is non-intrusive and separates the meta-level from the base-level constructs it reflects.
  • Ontological correspondence: The meta-level facilities correspond to the ontology of the base-level C++ language constructs which they reflect.
  • Completeness: Mirror tries to provide as much useful meta-data as possible, including various specifiers, iteration of namespace members and much more.
  • Ease of use: Although Mirror allows to do very complicated reflective (meta-)programming, simple things are kept simple.
  • Cooperation with other librares: Mirror can be used with the introspection facilites provided by the standard library and other libraries.

项目主页:http://www.open-open.com/lib/view/home/1326941133530

昵    称:
验证码:

相关文档:

  • C实现修改可执行文件中的字符串,生成新的可执行文件
    这种技术常用在远程控制软件中,我们已有远程控制软件的服务器端。我们利用远程控制软件的客户端配置生成我们自己的服务端软件,...
  • C语言协程库 cgreenlet
    和子例程一样,协程也是一种程序组件。相对子例程而言,协程更加一般和灵活,但在实践中使用没有子例程广泛。协程源自 Simula 和 Mod...
  • 揭秘Facebook官方底层C++函数 - Folly
    Facebook近日公布了其官方底层C++函数Folly,Folly(该缩略语表示Facebook开源代码库)其实是C++11组件库,这些组件在设计时着眼于实用性和...
  • C++常用工具类库 Rudiments
    Rudiments 是一个 C++ 类库,提供一些用来编写守护进程、客户端和服务器端的基础类,与标准C函数的封装类:还包括正则表达式、 semaphores...
  • C 语言编写的小型虚拟机:CarpVM
    CarpVM 是一个用 C 语言编写的小型虚拟机。可以嵌入在应用程序中使用。...
  • C++多媒体处理库 libCVD
    libCVD 是一个高可移植和具备高性能的用于处理计算机视觉、图像、视频的C++库。其重点是提供简单高效的高质量的图形和视频处理方法...
  • vim c/c++智能补全插件
    我很喜欢vim,而且一直用,不过对于c/c++只能补全一直都没有一个很好的解决方案,虽然有个插件(omnicomplete)功能比较强大,跟eclipse等...
  • C++操作SQLite数据库
    在使用C++操作SQLite之前,需要获得sqlite3.h,sqlite3.lib,sqlite3.dll,大家可以在这里下载。并将这3个文件导入VC++工程中。其中sqlite3.dll文件...
  • 高级C的函数库 acl (advanced C library) 介绍
    其实是一个很简单的问题,acl 的英文字母 advanced C library 的缩写(当然,您也可以认为是 a C library 的缩写)。也许有人会问:"现在...
  • C++模板库 libsigc++
    libsigc++是实现类型安全回调的一个C++模板库。...
  • 用C++编写一个井字游戏 (Tic Tac Toe)
    这个有趣的C++系列打算展示一下使用C++写代码可以和其他主流语言一样高效而有趣。在第二部分,我将向你展示使用C++从无到有的创建一...
  • 实现常用设计模式的C++类库:Loki
    Loki 是一个包含实现了各种设计模式和方法实现的C++类库。...
  • C++并发编程库:Theron
    Theron是一个轻量级的C++并发编程库,其实现了Actor模式,利用Theron可以轻松地实现并发编程。Theron的API清晰简洁,而且支持*NIX、windows、AR...
  • C++二叉查找树实现过程详解
    在数据结构中,有一个奇葩的东西,说它奇葩,那是因为它重要,这就是树。而在树中,二叉树又是当中的贵族。二叉树的一个重要应用...
  • 微软开源 C++ REST SDK
    C++ REST SDK 包含在 Casablanca 项目中。 Casablanca 是一个 C++ 本地库,旨在帮助开发者的 C++ 应用程序访问云服务。如果你想编写一个响应式的...
  • C语言实现base64编码,base64解码
    C语言实现base64编码,base64解码。...
  • C单元测试框架:zCUT
    C单元测试框架。 特点: C语言实现。clang编译。std=gnu89。...
  • C++ 输入类型不匹配检测方法
    C++中检测输入类型不匹配的检测方法。 输入类型不匹配是指输入的数据类型与所期望的类型不匹配,如 int n; cin >> n; 但输入的数...
  • C++解释器 Cint
    Cint(C/C++ interpreter, C-int)是一个C++解释器,顾名思义,和GCC、VC等编译器不同,它是解释执行C++代码的。 我们可以利用它来让我们的程序支...
  • 十个最值得阅读学习的C开源项目代码
    十个最值得阅读学习的C开源项目代码...