[[
XTAL_PREBIND_ALIAS
]]
Xtal Unofficial Wiki
現在位置:
Xtal Unofficial Wiki
»
Xtal Reference
»
XTAL_PREBIND_ALIAS
文書の表示
以前のリビジョン
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== XTAL_PREBIND_ALIAS ====== <code cpp> XTAL_PREBIND_ALIAS(ClassName, Name); </code> [[XTAL_PREBIND]]と基本動作は同じです。違いはC++の//ClassName//をXtal環境に//Name//という名前で登録する点です。これで登録すると、cpp_classをfilelocalなどにdefしなかった場合に例外などが投げられてクラス名が必要となったときなどに使われる名前がaliasのほうに変わります(cpp_classをdefしていた場合はその名前になります)。 ===== Example ===== ==== C++ ==== <code cpp> 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(); } </code> ==== Output ==== <code> foo constructed <(instance of lib::builtin::global::Foo)> foo </code>
reference/xtal_prebind_alias.txt · 最終更新: 2012/03/22 22:40 by sukai
文書の表示
以前のリビジョン
文書の先頭へ