simstr 1.7.3
Yet another strings library
 
Загрузка...
Поиск...
Не найдено
Шаблон структуры simstr::e_concat< K, G, Arg, Args >

Строковое выражения, объединяющее указанные строковые выражения, с использованием заданного разделителя. Подробнее...

#include <strexpr.h>

Граф наследования:simstr::e_concat< K, G, Arg, Args >:
simstr::expr_to_std_string< e_concat< K, G, Arg, Args... > >

Открытые члены

constexpr e_concat (G &&glue, Arg &&arg, Args &&...args)
 Создание строкового выражения, объединяющего указанные строковые выражения, с использованием заданного разделителя.
 

Подробное описание

template<typename K, typename G, typename Arg, typename... Args>
struct simstr::e_concat< K, G, Arg, Args >

Строковое выражения, объединяющее указанные строковые выражения, с использованием заданного разделителя.

Параметры шаблона
K- тип символов, выводится из типа разделителя.

Конструктор(ы)

◆ e_concat()

template<typename K, typename G, typename Arg, typename... Args>
simstr::e_concat< K, G, Arg, Args >::e_concat ( G && glue,
Arg && arg,
Args &&... args )
inlineconstexpr

Создание строкового выражения, объединяющего указанные строковые выражения, с использованием заданного разделителя.

Аргументы
glue- "клей", используемый при соединении аргументов, вставляется между ними.
arg,args...- объединяемые аргументы, не менее двух.

"Склеивает" переданные аргументы, вставляя между ними заданный "клей". Соединителем и аргументами могут быть строковые литералы, строковые выражения, стандартные строки. Аргументами также могут быть любые типы, для которых есть преобразование в строковое выражение. (см. Конвертация типов в в строковые выражения). Для аргументов, которые сами являются строковыми выражениями, e_concat сохраняет только ссылку на них. Обычно это не является проблемой, если ссылка не на временный объект, или строковое выражение материализуется сейчас же, до ';'. Если же вам необходимо вернуть e_concat как строковое выражение из функции, можно заставить его сохранить аргументы строковые выражения по копии, обернув их в force_copy{}. См. пример в tests/test_tostrexpr.cpp, Method4. Пример:

std::string t = e_concat("", text, " = ", count, " times.");
....
std::string t = "msg=" + e_concat(", ", text1, text3, text3, count1, count2);
constexpr e_concat(G &&glue, Arg &&arg, Args &&...args)
Создание строкового выражения, объединяющего указанные строковые выражения, с использованием заданног...
Определения strexpr.h:6479

Объявления и описания членов структуры находятся в файле: