Comments
> server[0].namespace[0].key = «345»
> server[0].namespace[1].key = «abc»

> простое и красивое
вы шутите, да?
простое и красивое — это yaml с yaml-like схемой. а это какой-то ппц, простите за резкость.

> переконфигурация проекта (изменение структуры конфига) теперь занимает не более 5 минут.
не вижу профита по сравнению с (воображаемой) generic библиотекой чтения+валидации конфигов, в которой схема может быть описана в исходнике.

> Если используем массивы, то объявляем итераторы
для меня осталось загадкой, где могут пригодиться такие итераторы, что value всегда char*.
>> Если используем массивы, то объявляем итераторы
>для меня осталось загадкой, где могут пригодиться такие итераторы, что value всегда char*.
очень удобно использовать, когда проект представляет собой демона, для визуальной передачи части/всего конфига клиенту.

>> переконфигурация проекта (изменение структуры конфига) теперь занимает не более 5 минут.
>не вижу профита по сравнению с (воображаемой) generic библиотекой чтения+валидации конфигов, в которой схема может быть описана в исходнике.
когда конфиг представляет иерархию структур и массивов структур, то сгенерить их проще
если конфиг до нельзя простой, то с вами согласен — не имеет смысла городить весь этот огород.

server[0].namespace[0].key = «345»
server[0].namespace[1].key = «abc»

согласен, в этом месте есть небольшая кривизна, я хотел посоветоваться с разработчиком, как сделать лучше…
временно остановился на этом варианте, так как много еще других более важных текущих задач.
в данной ситуации, задание ключа может быть как символьным, так и цифровым. Другой код это распознает.
мой проект находится в активной стадии разработки, по этому часто приходится менять структуру конфига,
соответственно приходится менять и схемы валидации, и структуры в h-файлах…
Only those users with full accounts are able to leave comments. Log in, please.