C++ std::basic_string/char_traits specialization

2019-08-19 05:58发布

This is related to:

std::basic_string specialization and Circumventing template specialization

I tried the solution from std::basic_string specialization, but the problem is that CustomChar is a typedef for wchar_t and I have redefinition(conflict with specialization from std). How may I avoid usage of chart_traits when I'm not allowed to change CustomChar typedef?

2条回答
Root(大扎)
2楼-- · 2019-08-19 06:20

You could use Boost's/C++0x's disable_if to disable if there are known previous instantiations, like in the case of char and wchar_t.

查看更多
forever°为你锁心
3楼-- · 2019-08-19 06:42

This is the answer provided by Charles Bailey as a comment:

You can supply an alternative traits class (i.e. something other than a std::char_traits specialization) while still using wchar_t as the charT template parameter to std::basic_string

查看更多
登录 后发表回答