functorの実装をstd::tr1::function
に変換しています(私の実装では、関数型ごとに型とファンクタのクラスをあらかじめ定義する必要があります、私はこれをどんな関数でも動作させるために拡張したい)。std :: tr1 :: function - 共通のコンテナにさまざまな型の関数オブジェクトを格納する
私は
int param = 1;
std::tr1::bind (&MyClass::func, param);
持っていると私はいくつかの共通のコンテナ
someContainer.insert (std::tr1::bind (&MyClass::func, param));
にこれを追加したいので、コンテナを宣言するためにどのように、どのようなタイプには、任意の型の機能を受け入れるようにしなければなりませんか?まったく可能ですか?
2番目の質問 - このように、コンテナ内の関数を呼び出す方法:
someContainer.begin().invoke();
P.S.たぶん別の解決策があるかもしれませんが、私はこのトピックで十分に認識していません。答えに感謝します。
私はGNU C++ 98を扱います。 「任意のタイプ」で、あなたが同じシグネチャを持つすべての関数オブジェクト(ファンクタ)を意味している場合