![]() |
赤紫蘇2.リファレンス |
||
aka:choice mocクラス |
|||
akaxiso2.0-beta1 | |||
|
|||
mocクラスは、aka:choiceの実体であるコンテナを操作するためのヘルパクラスです。 mocクラスは、aka:choiceのleafクラスの関連型として定義されています。 template<class T, class L> struct aka::sequential_choice<T, L>::moc; template<class T, class L> struct aka::associative_choice<T, L>::moc; mocクラスには、push_back()メソッドが定義されています。push_back()メソッドでは、タグ名と、要素オブジェクトを指定します。タグ名が、aka:choiceのleafクラス内で指定されていない場合、例外を投げます。 使用例を以下にあげます。 // aka:choiceクラスの定義 typedef std::list<aka::item> items; struct items_leaf : aka::sequential_choice<items, items_leaf> { void model() { item("item1", xiso::leaf<std::string>); } }; //使用例 void func_foo() { ..... items container; items_leaf::moc(container) items_moc; std::string item("test"); items_moc.push_back(item, "item1"); ..... } 以上のコードで、タグ名"item1"と、itemインスタンスのコピーが対応付けられ、aka::itemのインスタンスが作成されます。その後、作成されたaka::itemインスタンスが、コンテナ(container)へと挿入されます。 |