Re[7]: Определение регулярных последовательностей статически
От: rg45 СССР  
Дата: 15.12.24 12:01
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Такое я и сам могу сделать, но это опять же потянет за собой изрядный объем двоичного исполняемого кода. Хочется по максимуму обойтись статическими определениями на этапе компиляции.


Ты, по-видимому, не придал значения ключевым словам "inline constexpr" в моем примере. Вся эта структура данных вычисляется во время компиляции. Во что выльется обход этой структуры — это уже зависит, от операций, выполняемых во время обхода. Если все операции будут времени компиляции, то и вся процедура обхода также будет выполнена во время компиляции. И в сгенерированном объекном коде ты увидишь лишь результаты этого обхода, подставленные инлайном в места использования. Машинного кода, соответсвующего самому компайл-тайм обходу, в сгенерированном объектном коде не будет.

Я, для большей наглядности, добавил в мой пример пару строчек, чтоб было видно, что вся эта структура вычисляется во время компиляции:

http://coliru.stacked-crooked.com/a/3de810af53ca9426

static_assert(Config.Key_B.Key_X.Value_C == 3.14);
static_assert(Config.Key_B.Key_X.Value_D == "Hello");
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 15.12.2024 12:59 rg45 . Предыдущая версия . Еще …
Отредактировано 15.12.2024 12:20 rg45 . Предыдущая версия .
Отредактировано 15.12.2024 12:17 rg45 . Предыдущая версия .
Отредактировано 15.12.2024 12:10 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.