XTAL_BIND_ALIAS(ClassName, Name);
XTAL_BINDのALIAS版で、違いや効果などはXTAL_PREBINDとXTAL_PREBIND_ALIASの比較と同じです。C++クラスClassNameのメンバをNameという名前のクラスのメンバとしてバインドします。
class Foo{ public: Foo(){ StringPtr("foo constructed")->p(); } void print(){ StringPtr("foo")->p(); } }; XTAL_PREBIND_ALIAS(Foo, Bar){ Xdef_ctor0(); } XTAL_BIND_ALIAS(Foo, Bar){ Xdef_method(print); } void exec_xtal(){ xtal::global()->def(Xid(Bar), xtal::cpp_class<Foo>()); Xsrc(( bar : Bar(); bar.p; bar.print; ))->call(); }
foo constructed <(instance of lib::builtin::global::Foo)> foo