赤紫蘇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)へと挿入されます。


リファレンストップに戻る 赤紫蘇ホームページへ sourceforgeプロジェクトページへ