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

Строковое выражение, которое подставляет в заданные места в строке-образце, задаваемой в рантайме, значения переданных строковых выражений. Подробнее...

#include <strexpr.h>

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

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

constexpr e_vsubst (str_src< K > pattern, Args &&...args)
 Создает строковое выражение, которое подставляет в заданные места в строке-образце, задаваемой в рантайме, значения переданных строковых выражений.
 

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

template<typename K, typename ... Args>
struct simstr::e_vsubst< K, Args >

Строковое выражение, которое подставляет в заданные места в строке-образце, задаваемой в рантайме, значения переданных строковых выражений.

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

◆ e_vsubst()

template<typename K, typename ... Args>
simstr::e_vsubst< K, Args >::e_vsubst ( str_src< K > pattern,
Args &&... args )
inlineconstexpr

Создает строковое выражение, которое подставляет в заданные места в строке-образце, задаваемой в рантайме, значения переданных строковых выражений.

Аргументы
pattern- Строковый объект-образец, в который будут подставляться значения переданных аргументов.
args...- аргументы, которые будут подставляться в заданные места образца. Также, как и в e_concat, могут быть строковые литералы, строковые выражения, стандартные строки, а также любые типы, для которых есть преобразование в строковое выражение.

Функция создаёт строковое выражение, которое при материализации генерирует текст из образца, подставляя в места подстановки значения переданных аргументов. Строка-образец задается в рантайм, строковым объектом, парсинг которого происходит во время выполнения. Места вставки обозначаются либо как {}, либо как {номер}. В случае без указания номера, параметры подставляются в переданном в функцию порядке. В случае указания номера, параметры подставляются в соответствии с указанным порядковым номером. Нумерация параметров начинается с 1. Смешивать параметры без номера и с номером нельзя - используется только один из вариантов для всех подстановок. В случае указания номеров - один параметр может участвовать в нескольких подстановках. Все переданные параметры должны участвовать в подстановках. В случае ошибки парсинга строки будет выкинуто исключение parse_subst_string_error. Для вставки самих фигурных скобок они должны удваиваться - {{, }}. Функция не является заменой std::vformat, не работает с образцом, задаваемым в compile-time, и не поддерживает каких-либо параметров форматирования подставляемых значений. Все передаваемые аргументы должны сами уметь преобразовывать себя в строковые выражения (см. Конвертация типов в в строковые выражения). Пример:

std::string_view pattern;
.....
lstringa<100> text = e_vsubst(pattern, from, total, success ? "success"_ss : "fail"_ss);
constexpr e_vsubst(str_src< K > pattern, Args &&...args)
Создает строковое выражение, которое подставляет в заданные места в строке-образце,...
Определения strexpr.h:6800

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