Описание тега char-traits

Character traits classes specify character properties and provide specific semantics for certain operations on characters and sequences of characters.
1 ответ

В чем смысл черт характера STL?

Я заметил, что в моей копии ссылки SGI STL есть страница о чертах характера, но я не вижу, как они используются? Они заменяют функции string.h? Кажется, они не используются std::stringнапример, length() метод на std::string не использует черты харак…
16 мар '11 в 00:44
1 ответ

Как можно безопасно сериализовать std:: basic_istream<char>:: pos_type?

В одном из моих проектов я должен кэшировать информацию о местоположении определенных фрагментов данных, найденных в больших файлах. Я уже реализовал небольшой API, построенный вокруг std::basic_istream&lt;char&gt;::pos_type размещены на картах. Теп…
21 дек '16 в 08:09
0 ответов

VS 2015 std::char_traits<char16_t> операции

На моем рабочем месте мы изменили тип строки (который содержит интернационализированные символы) для std::wstring в std::u16string после VS 2015(обновление 3) обновление компилятора. Из-за этого мы наблюдаем множество регрессий производительности, т…
2 ответа

Какова цель std::char_traits::assign()?

void assign(char_type&amp; to, char_type from); Почему вы не можете просто использовать оператор присваивания вместо этой функции? Для чего это используется?
19 авг '12 в 04:30
2 ответа

Конвертировать std::string в ci_string

Я использовал этот подход для создания нечувствительного к регистру typedef для строки. Теперь я пытаюсь преобразовать std::string в ci_string, Все следующие ошибки: std::string s {"a"}; ci_string cis {s}; ci_string cis (s); ci_string cis {(ci_strin…
15 ноя '15 в 17:36
2 ответа

Черты, не учитывающие пробелы в начале и в конце, для basic_string

Я делаю много разбора / обработки, где задаются пробелы в начале / в конце и нечувствительность к регистру. Итак, я сделал основную черту характера для std::basic_string(см. ниже), чтобы спасти себя от работы. Черта не работает, проблема в том, что …
28 окт '18 в 10:00
0 ответов

Как я могу использовать алгоритмы char_traits с пользовательским типом итератора?

Я хотел бы иметь возможность использовать функции, такие как std:: char_traits<...>:: length, сравнивать и т. Д., Но передавать вместо указателя пользовательский тип итератора. Это возможно? И если нет, то есть ли причина, почему это не поддерживает…
18 мар '15 в 15:41
2 ответа

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

Это связано с: std::basic_string специализация и обход шаблонной специализации Я пробовал решение из специализации std::basic_string, но проблема в том, что CustomChar является typedef для wchar_t, и у меня есть переопределение (конфликт со специали…
01 июл '11 в 13:05
1 ответ

Как читать строки c char**?

У меня есть char** (нулевой завершающий массив: последний элемент массива равен NULL), возвращаемый функцией (которую я не могу изменить): char** ptar = get_ptar(); Я хочу перебрать его и передать его значение другой функции (опять же, которую я не …
16 ноя '14 в 18:50
1 ответ

Почему этот специализированный char_traits<uint8_t> и codecvt<uint8_t> для использования с шаблоном basic_ifstream бросает std::bad_cast?

На Stackru уже есть вопросы, спрашивающие, почему basic_fstream&lt;uint8_t&gt; не работает Ответы говорят, что char_traits специализируется только на char а также wchar_t (плюс char16_t, char32_t в C++11), и вы должны придерживаться basic_fstream&l…
06 окт '13 в 04:47
3 ответа

Удаление constexpr из переменной, получающей возвращаемое значение функции constexpr, удаляет оценку во время компиляции

Рассмотрим следующее constexpr функция, static_strcmp, который использует C++17 constexpr char_traits::compare функция: #include &lt;string&gt; constexpr bool static_strcmp(char const *a, char const *b) { return std::char_traits&lt;char&gt;::compare…
20 мар '19 в 14:57
1 ответ

Можно ли использовать std::char_traits &lt;char&gt; в постоянных выражениях до GCC 8?

Согласно примечанию к выпуску GCC 8, теперь можно использоватьstd::char_traits&lt;char&gt; а также std::char_traits&lt;wchar_t&gt; в постоянных выражениях: Улучшенная экспериментальная поддержка C++17, включая следующие функции:std::char_traits и st…
23 июл '20 в 15:18
2 ответа

Почему std::basic_fstream &lt;unsigned char&gt; не работает?

При попытке скомпилировать этот код: std::fstream file(&quot;file.name&quot;, std::ios::out | std::ios::binary); uint8_t buf[BUFSIZE]; //Fill the buffer, etc... file.write(buf, BUFSIZE); компилятор выдаст мне предупреждение об очень плохом преобразо…
18 ноя '20 в 01:47
1 ответ

Гарантировано ли, что std::char_traits &lt;char&gt; ::to_int_type(c) == static_cast &lt;int&gt; (c)?

Вопрос Как правильно использовать возвращаемое значение из &lt;tcode id="238412"&gt;&lt;/tcode&gt; и &lt;tcode id="238413"&gt;&lt;/tcode&gt;? заставил меня задуматься, гарантировано ли это std::char_traits&lt;char&gt;::to_int_type(c) == static_cast&…
16 фев '21 в 04:54
1 ответ

Как назначить std::string для std::basic_string&lt;unsigned short int, TRAITS_CLASS&gt;(Unicode2String) в Linux

Я работаю над системой Linux, и я думаю, что стандартный Linux поддерживает символы Unicode и ASCII. Итак, я хочу использовать в своем коде, но получаю строки из приложения в формате std::basic_string&lt;unsigned short int, TRAIT_CLASS&gt;(для подде…
27 янв '22 в 12:13
1 ответ

Почему std::basic_string имеет два отдельных параметра шаблона _Elem (тип char) и _Traits (характеристики char)?

Проблема в том, что я не понимаю, почему они должны быть отдельными. Почему бы не использовать один класс, например CharType, который содержал бы как логику трейтов char, так и тип char. Я имею в виду заменить это: template &lt;class _Elem, class _T…
13 ноя '22 в 12:53
0 ответов

Как инициализировать пользовательский аналог для std::cout?

Я пытаюсь реализовать свой собственныйbasic_string, но столкнулся с проблемой печати моих строк. я не собираюсь использоватьstd::char_traitsи другие трейты из std, которые я реализовал сам. Как я могу создать прямой аналог того, что можно было бы ис…
16 ноя '22 в 20:43
0 ответов

Проблема компоновщика C++ Builder 11 - неразрешенная внешняя 'std::char_traits&lt;char&gt;::assign(char *, unsigned int, char)

Я пытаюсь возродить старый проект в C++Builder 11.3 (изначально написанный на C++Builder 6). Я использую «классический» компилятор Borland, который решаетwchar_tпроблема. Но я получаю эту ошибку: [Ошибка ilink32] Ошибка: неразрешенная внешняя 'std::…