Описание тега string-view
String_view - это шаблон класса C++, который не является ссылкой на строку.
1
ответ
Constexpr string_view сравнение
У меня есть небольшая программа, которая компилируется на GCC но не на MSVCкакой компилятор не соответствует стандарту для constexpr string_view сравнение? #include <iostream> #include <string_view> int main(int argc, char **argv) { cons…
11 апр '18 в 13:28
1
ответ
Как вернуть постоянный вид std::string?
Во время создания прототипа и игры в C++, пробуя некоторые концепции для создания неизменяемой строки с поддержкой utf8, я стоял перед следующей дилеммой: Есть ли способ вернуть неизменный вид строки. Например, вместо возврата подстроки, я хочу имет…
17 янв '17 в 00:26
2
ответа
Объединить string_views в constexpr
Я пытаюсь объединить string_views в constexpr, Ниже приведена упрощенная версия моего кода: #include <iostream> #include <string_view> using namespace std::string_view_literals; // concatenate two string_views by copying their bytes // i…
29 ноя '17 в 16:01
2
ответа
Boost.Container flat_map и std::string_view
Некоторое время я использовал Boost's flat_map как моя ассоциативная коллекция, по объясненным причинам, приведенным в их введении к документации, и (первоначально) тот факт, что она дала более новые функции до реализации std компилятора, и она была…
10 май '18 в 03:22
2
ответа
Реализация вывода потока в формате string_view
При реализации C++1z std::basic_string_view чтобы использовать его на старых компиляторах, я столкнулся с проблемой перегрузки для оператора потокового вывода. По сути, он должен выводить содержимое, на которое ссылается string_view не полагаясь на …
23 сен '16 в 05:55
2
ответа
Что такое string_view?
string_view была предложена особенность в рамках Основ библиотеки C++ TS ( N3921), добавленная в C++17 Насколько я понимаю, это тип, который представляет какую-то строковую "концепцию", которая является представлением любого типа контейнера, который…
27 дек '13 в 16:10
2
ответа
Почему std::string_view::data не содержит нулевого терминатора?
Этот код имеет неопределенное поведение: #include <string_view> #include <iostream> using namespace std::string_view_literals; void foo(std::string_view msg) { std::cout << msg.data() << '\n'; // undefined behavior if 'msg' i…
18 янв '17 в 14:18
0
ответов
Чем отличаются gsl::string_span и std::string_view?
Из того, что я могу собрать, gsl::string_span а также std::string_view кажется, по сути, то же самое обоснование для использования. Это действительно так? Если да, действительно ли они идентичны? Если нет - чем они отличаются? Смежный вопрос: Какую …
29 окт '18 в 18:09
0
ответов
Наиболее эффективный способ передачи временного строкового литерала в C++17?
Я пытался искать в другом месте, но не мог найти полный ответ. Допустим, у меня есть функция или конструктор класса, который создает окно, функция, скорее всего, будет вызываться со строковым литералом:auto myWindow = CreateWindow("Window Title"); М…
27 янв '19 в 15:21
1
ответ
Разобрать в вектор<boost:: string_view> используя boost::spirit::x3
Это дополнительный вопрос к моему предыдущему boost::spirit::x3 а также boost::string_view, Пока я могу разобрать в std::vector<std::string> ( живой пример), разбирая в std::vector<boost::string_view> завершается со следующими ошибками к…
30 авг '16 в 14:25
1
ответ
Различия в размере std::string_view массива символов, не заканчивающегося нулем
Я играл с std::string_view с разными компиляторами и заметил, что каждый компилятор печатает разные размеры при инициализации std::string_view с массивом символов с ненулевым символом в конце. Кажется, что каждый компилятор печатает правильный разме…
23 окт '16 в 11:00
2
ответа
Как хэшировать std::string_view?
Я пытаюсь определить свою собственную функцию хеширования для std::unordered_map и я хочу хешировать поле в структуре, которая должна быть ключом. Код ниже является упрощенной версией того, что у меня есть: struct TestStruct { char a[64]; char b[64]…
16 мар '18 в 19:06
2
ответа
Различия между boost::string_ref и boost::string_view
Boost предоставляет две разные реализации string_view, которая будет частью C++17: boost::string_ref в utility/string_ref.hpp boost::string_view в core/string_view.hpp Есть ли существенные различия между ними? Что должно быть предпочтительным в буду…
18 апр '16 в 21:41
3
ответа
Почему конструктор string_view не использует пару итераторов
И string_ref в boost, и string_span в GSL не определяют конструктор, который принимает пару итераторов. В чем причина этого решения? Обычно это не имеет большого значения, я могу просто создать string_ref следующим образом: boost::string_ref s(start…
17 ноя '15 в 06:36
0
ответов
Время жизни аргумента std string_view
В приведенном ниже примере у меня есть функция foo который принимает string_view в качестве входа и bar возвращение временное. std::string bar() { return "abc"; } void foo(std::string_view input) { std::cout << input; } Вопрос в следующем: поч…
15 ноя '18 в 13:00
0
ответов
Почему string_view, передаваемый в функцию constexpr, компилируется, когда передается как тип шаблона?
Этот код не компилируется. Я предполагаю, что это потому, что string_view не является LiteralType, который нарушает условия функции constexpr ( http://en.cppreference.com/w/cpp/language/constexpr): constexpr std::size_t find_space(std::string_view s…
13 июл '17 в 23:48
1
ответ
Парсинг из std::string в boost::string_view с использованием boost::spirit::x3
В моем моем предыдущем вопросе было предложено, что производительность моего boost::spirit::x3 синтаксический анализатор может быть улучшен путем анализа в boost::string_view с использованием raw директивы. Тем не менее, я испытываю трудности с его …
30 авг '16 в 10:50
1
ответ
Есть ли какие-либо преимущества для std::string_view перед char*, кроме методов std::string_view?
Есть ли какие-либо преимущества для std::string_view перед char*, кроме методов std::string_view? Есть ли причины для перефакторинга? char* в string_view если ни один из string_viewметоды будут использоваться?
21 май '18 в 22:40
1
ответ
Как мне сделать функцию обмена constexpr?
Я делаю свой собственный класс String View для целей обучения и пытаюсь сделать его на 100% constexpr. Чтобы проверить это, у меня есть функция-член, которая возвращает хэш-значение. Затем я создаю свое строковое представление в операторе switch и в…
22 сен '17 в 20:27
1
ответ
Как разбить std::string на диапазон (v3) std::string_views?
Мне нужно разделить std::string на всех пространствах. Полученный диапазон, однако, должен преобразовать его элемент в std::string_views. Я борюсь с "типом элемента" диапазона. Я думаю, что-то типа c_str, Как я могу преобразовать "разделенную" часть…
23 янв '18 в 13:09