module(L)
[
class_<HgeSys>("HgeSys")
.def(constructor<>())
.scope
[
def("System_Start",&HgeSys::System_Start),
def("System_SetStateBool", &HgeSys::System_SetStateBool),
def("System_SetStateInt", &HgeSys::System_SetStateInt),
def("System_SetStateString", &HgeSys::System_SetStateString),
def("Resource_Load",&HgeSys::Resource_Load),
def("Resource_Free",&HgeSys::Resource_Free),
def("Resource_AttachPack",&HgeSys::Resource_AttachPack),
......
]
];
此段代码为C++标准实现,很不可思议,很漂亮有好的语义,内部却藏着可怕的C++特性,现代C++设计方法,请联想标题静思
恩,这个是metaprograming的经典案例,源自luabind,有兴趣的同学可以去看下源码,[]重载,逗号重载,模板的policy设计,一句话C++没有爱~