我的图书馆应该支持哪些字符串类型?

时间:2018-03-22 22:59:58

标签: c++ string

我正在用C ++ 17编写一个漂亮的打印组合器库,它涉及将文档表示为树结构,并在叶子中提供客户端提供的字符串。我的图书馆的客户应该提供哪些类型的字符串类型?现在我有这样模仿:

template<
        class CharT,
        class Traits = std::char_traits<CharT>,
        class Allocator = std::allocator<CharT>
>
class basic_document
{
public:
    using text_type = std::basic_string<CharT, Traits, Allocator>;
    using text_view_type = std::basic_string_view<CharT, Traits>;
    …
};

因此,此代码适用于std::stringstd::wstringstd::basic_string<CharT>的任何其他实例。但我想知道这是不是太多或太少的灵活性,因为我不知道人们使用什么类型的字符串,或转换有多困难。将它修复为UTF-8 std::string是否合理,或者相反,我是否应该以某种方式支持非std字符串类?

0 个答案:

没有答案