は問題です:ヘッダファイルにコードを入れずにイテレータを処理する方法は?ここ
ヘッダファイル(ライブラリのAPIの一部):
template <typename IterType>
void foo(const IterType &begin, const IterType &end);
CPPファイル:
template <typename IterType>
void my_really_large_implementation_specific_function(const IterType &begin, const IterType &end) {
// ...
}
です "my_really_large_implementation_specific_function()
含めずfoo()
コールmy_really_large_implementation_specific_function()
を行うことができますヘッダーファイル内に、そのテンプレートの複数のインスタンスを作成することなく、たぶん、何らかのラッパー・イテレーター・クラスを使用していたかもしれませんが、どうしたらよいか分かりません。
は、イテレータの値型は、共通の基本クラスを持っていますか? – ipc
1つのインスタンスだけを必要とする場合はなぜテンプレートを使用しますか? –
リンカーは、あなたの関数のインスタンスが1つだけになるほどスマートです。 –