生成没有模板的代码

时间:2014-11-12 15:01:32

标签: c++ c++11

我目前正在尝试在编译时为OpenGL着色器生成C ++包装器。我当前的实现使用模板,但我的同事都不能再读它了,它也强制所有代码进入标题。

现在我想知道是否有更好的方法?我最近看过一个关于游戏开发的讨论,其中有人说他们从不在引擎中使用模板,并且有更好的方法来生成代码。

老实说,我找不到适用于我的东西,而且大多数代码生成工具都是用不同的语言编写的。

我想知道是否有类似的东西:

auto foo_class = create_class().setName("Foo");
                               .addMember<int>("i1")
                               .addMethod("print",||(){std::cout<< "hello";});
foo_class.generate();

会生成

class Foo{
  int i1;
  void print();
  ....
};

void Foo::print(){ std::cout << "hello";}

这样我就可以创建一个单独的工具,我可以在编译时调用它。是否存在类似的东西?

0 个答案:

没有答案