Как я могу объявить класс шаблона (адаптер) с различными контейнерами в качестве аргументов шаблона? Например, мне нужно объявить класс:
template<typename T, typename Container>
class MyMultibyteString
{
Container buffer;
...
};
И я хочу, чтобы это было на основе вектора. Как сделать его жестким? (чтобы кто-то не мог написать такое объявление MyMultibyteString<int, vector<char>>
).
Более того, как реализовать такую конструкцию:
MyMultibyteString<int, std::vector> mbs;
не передавая аргумент шаблона контейнеру.