51 virtual bool test (T t) = 0;
57 template <
class T,
class V>
70 template<
typename Data>
82 template<
typename Data>
92 observer->Update (data);
109 if (item == observer)
124 template<
class T,
class V>
146 virtual void Set (T t, V v)
148 _strategy.insert (std::make_pair (t, v));
186 template<
typename CommandFunction>
209 template<
typename CommandFunction>
222 ret = command->Execute (++count, total);
223 if (ret ==
false)
break;
225 long waitTime = command->GetWaitTime ();
246 void Add (std::wstring key, std::wstring value)
248 _properties.insert (std::make_pair<std::wstring&, std::wstring&> (key, value));
270 _nodes.insert (std::make_pair<std::wstring&, CompositeNode&> (key, node));
277 std::vector<std::wstring> response;
279 for (
auto itr =
_nodes.begin (); itr !=
_nodes.end (); ++itr)
281 response.push_back (itr->first);
289 std::vector<CompositeNode> response;
291 for (
auto itr =
_nodes.begin (); itr !=
_nodes.end (); ++itr)
293 response.push_back (itr->second);
301 _leafs.insert (std::make_pair<std::wstring&, CompositeLeaf&> (key, leaf));
308 std::vector<std::wstring> response;
310 for (
auto itr =
_leafs.begin (); itr !=
_leafs.end (); ++itr)
312 response.push_back (itr->first);
320 std::vector<CompositeLeaf> response;
322 for (
auto itr =
_leafs.begin (); itr !=
_leafs.end (); ++itr)
324 response.push_back (itr->second);
332 std::map<std::wstring, CompositeNode>
_nodes;
333 std::map<std::wstring, CompositeLeaf>
_leafs;
virtual bool Execute(size_t count, size_t total)
void SetWaitTime(long time)
void SetFunction(CommandFunction function)
CommandFunction _function
std::vector< Command< CommandFunction > * > _commands
void Add(Command< CommandFunction > *command)
std::map< std::wstring, std::wstring > _properties
void SetName(std::wstring &name)
std::wstring Get(std::wstring key)
void Add(std::wstring key, std::wstring value)
CompositeLeaf & GetLeaf(std::wstring key)
std::vector< std::wstring > GetNodeKeys()
void Add(std::wstring key, CompositeNode &node)
std::map< std::wstring, CompositeNode > _nodes
void Add(std::wstring key, CompositeLeaf &leaf)
std::vector< CompositeNode > GetNodeValues()
CompositeNode & GetNode(std::wstring key)
std::map< std::wstring, CompositeLeaf > _leafs
void SetName(std::wstring name)
std::vector< std::wstring > GetLeafKeys()
std::vector< CompositeLeaf > GetLeafValues()
virtual void accept(T t)=0
Tを引数とする関数 accept()
virtual V apply(T t)=0
Tを引数とする関数 apply()
virtual void Update(Data data)=0
Dataを引数とする関数 Update()
virtual bool test(T t)=0
Tを引数とする関数 test()
virtual void Remove(IObserver< Data > *observer)
IObserver<Data>*を引数とする関数 Remove()
virtual void Add(IObserver< Data > *observer)
IObserver<Data>*を引数とする関数 Add()
std::vector< IObserver< Data > * > _observers
Subscriberが管理するObserverの保存用
virtual void Notify(Data data)
Dataを引数とする関数 Notify()
virtual T get()=0
Tを返す関数 get()
Singleton()
コンストラクタ(privateで秘匿状態)
static T * Instance()
唯一となるインスタンスを取得します。
static T * _instance
唯一となるインスタンスを管理する変数
virtual void Set(T t, V v)
テンプレートTをキーとしたテンプレートVを設定します。
std::map< T, V > _strategy
Set()で登録されたオブジェクトを管理するマップ
virtual V Get(T t)
テンプレート引数Tに応じて、テンプレートVを返却します。
virtual ~Strategy()
デストラクタ