特定の型が B から派生したテンプレート関数を宣言することは可能ですか?
私の目標は、次のようなことを達成することです。
template<class T : std::ostream> void write(T os) {
os << "...";
}
template<class T : std::string> void write(T s) {
// ...
}
編集:文字列から派生することは通常ではないため、これが堅実な例ではないことはわかっていますが、これは単なる例であることに注意してください。
したがって、回避策のような解決策は大歓迎ですが、テンプレート関数を明示的にインスタンス化できるようにしたいと考えています。