Виновен ли Boost в том, что он не похож на Boost?

Я как раз читал вводную часть фреймворка Boost :: Spirit LL Parser. В предисловии говорится, что автор и создатель любят использовать такую ​​технологию синтаксического анализа для чтения в параметрах программы. У Boost нет собственной библиотеки для программных опций?

Мне интересно, проверяет ли комитет Boost все заметки библиотеки на предмет общих тем и стилей? Кажется, что документация для каждой библиотеки имеет свой вкус.

Небольшая претензия к удивительному программному обеспечению, мне это показалось просто любопытным.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
1 474
5

Ответы 5

Вы правы, не все библиотеки Boost особенно похожи на Boost. Дух - очень хороший тому пример. Отчасти причина в том, что, когда он был принят, другие библиотеки ускорения еще не были приняты / достаточно зрелы, чтобы Spirit мог их использовать. (Вот почему есть что-то вроде трех библиотек Boost, которые определяют свои собственный (несовместимые) значения-заполнители _1, _2 и так далее).

Я считаю, что в большинстве этих случаев они постепенно работают над тем, чтобы снова объединить эти странности. Но, черт возьми, Spirit был добавлен, потому что это была такая большая и впечатляющая вещь, что это "неусиление" было прощено. ;)

Нет такой вещи, как комитет по стилю Boost. WG21 ISO потратит немного больше времени на общий стиль, но даже им удалось забыть std :: ifstream :: ifstream ((std :: string const & filename)

Spirit in Boost может однажды стать Boost в духе :-)

Просто Spirit существовал до библиотеки Boost.Program-Options. Теперь я всегда использую Boost.Program-Options вместо того, чтобы вручную раскатывать с помощью Spirit.

Как сказал Джоэл, у нас не было параметров программы, когда родился Дух. Мы с Хартмутом Кайзером (оба разработчики Spirit) используем Program-Options на работе вместо того, чтобы развертывать собственный синтаксический анализатор Spirit. Program-Options делает гораздо больше, чем просто синтаксический анализ, и, по крайней мере, для наших нужд, производительность нашего синтаксического анализа командной строки не важна. Для критического анализа производительности я бы определенно использовал Spirit.

Другие вопросы по теме