[[
Xdef
]]
Xtal Unofficial Wiki
現在位置:
Xtal Unofficial Wiki
»
Xtal Reference
»
Xdef
文書の表示
以前のリビジョン
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Xdef ====== <code cpp> Xdef(name, value) </code> XTAL_BINDマクロのスコープ内で呼び出すことで、AnyPtrへ変換可能な値なら何でもそのクラスにバインドすることができます。クラスにバインドしたいと思うオブジェクトはほとんどの場合他のXdef_*マクロによってバインドすることができるので、あまりお世話になることは無いと思います。 ===== Example ===== ==== C++ ==== <code cpp> class Foo{ public: int var; public: Foo(int v) : var(v) { } void print() const{ AnyPtr(var)->p(); } static void staticPrint(){ StringPtr("Foo::staticPrint")->p(); } }; XTAL_PREBIND(Foo){ Xdef_ctor1(int); } XTAL_BIND(Foo){ Xdef(print, method(&Foo::print)); Xdef(sPrint, fun(&Foo::staticPrint)); // それぞれXdef_method/Xdef_fun_aliasに置き換えることが可能 } void exec_xtal(){ xtal::global()->def(Xid(Foo), xtal::cpp_class<Foo>()); Xsrc(( foo : Foo(10); foo.print; Foo::staticPrint(); ))->call(); } </code> ==== Output ==== <code> 10 Foo::staticPrint </code>
reference/xdef.txt · 最終更新: 2011/09/03 23:30 by sukai
文書の表示
以前のリビジョン
文書の先頭へ