目次

XTAL_BIND_ALIAS

XTAL_BIND_ALIAS(ClassName, Name);

XTAL_BINDのALIAS版で、違いや効果などはXTAL_PREBINDXTAL_PREBIND_ALIASの比較と同じです。C++クラスClassNameのメンバをNameという名前のクラスのメンバとしてバインドします。

Example

C++

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();
}

Output

foo constructed
<(instance of lib::builtin::global::Foo)>
foo