类似IDL的解析器将文档定义转换为强大的类?

pan*_*niq 6 c++ python data-binding serialization json

我正在寻找一个类似IDL(或其他)的转换器,它将类似DOM或JSON的文档定义转换为类

  • 可以在同一个应用程序中从C++和Python访问
  • 将文档属性公开为整数,浮点数,字符串,二进制blob和复合:array,string dict(都是可嵌套的)(基本上是JSON类型的特征集)
  • 允许跟踪更改以刷新编辑UI的视图
  • 提供更改历史记录以启用撤消/重做操作
  • 可以序列化到JSON(也可以是某种二进制格式)
  • 允许在磁盘上保留大型数据块,部分仅按需加载
  • 提供非阻塞线程安全读/写访问,以与实时线程交换数据
  • 允许不同进程(甚至在不同机器上)的多个编辑器查看和修改文档

到目前为止最接近的是Blender 2.5 DNA/RNA系统,但它不能作为一个单独的库提供,并且记录严重.

我最重要的是要确保这样的lib还不存在,所以我知道当我开始设计和编写这样的东西时,我的时间不会浪费.它应该为编写编辑UI组件提供了一个很好的基础.

neo*_*eye 0

SWIG并不能满足您的所有要求,但确实使 c++ <-> python 的接口变得更加容易。