Специализация C++ std::basic_string/char_traits

Это связано с:

специализация std::basic_string и Обход специализации шаблона

Я попробовал решение из специализации std::basic_string, но проблема в том, что CustomChar является typedef для wchar_t а у меня переопределение(конфликт со специализацией от std). Как я могу избежать использования chart_traits, если мне не разрешено изменять определение типа CustomChar?


person Mircea Ispas    schedule 01.07.2011    source источник
comment
Вы можете указать альтернативный класс traits (т. е. нечто иное, чем специализация std::char_traits), но при этом использовать wchar_t в качестве параметра шаблона charT для std::basic_string.   -  person CB Bailey    schedule 01.07.2011
comment
Вот почему C++ следует вынести наружу и расстрелять.   -  person Bjarke Ebert    schedule 23.11.2015


Ответы (2)


Вы можете использовать disable_if Boost/C++0x отключить, если известны предыдущие экземпляры, как в случае char и wchar_t.

person rubenvb    schedule 01.07.2011

Это ответ Чарльза Бейли в качестве комментария:

Вы можете указать альтернативный класс свойств (т. е. нечто отличное от специализации std::char_traits), но при этом использовать wchar_t в качестве параметра шаблона charT для std::basic_string.

person Mircea Ispas    schedule 04.12.2012