Boost (библиотеки C++)
Первоначальный выпуск | 1 сентября 1999 г [1] |
---|---|
Стабильная версия | 1.85.0 [2] / 15 апреля 2024 г |
Репозиторий | |
Написано в | С++ |
Операционная система | Кросс-платформенный |
Тип | Библиотеки |
Лицензия | Лицензия на программное обеспечение Boost |
Веб-сайт | www |
Boost — это набор библиотек для языка программирования C++ , обеспечивающий поддержку таких задач и структур, как линейная алгебра , генерация псевдослучайных чисел , многопоточность, обработка изображений , регулярные выражения и модульное тестирование . Он содержит 164 отдельные библиотеки (начиная с версии 1.76). [3]
Все библиотеки Boost лицензируются по лицензии Boost Software License , позволяющей использовать Boost как с бесплатными , так и с проприетарными программными проектами. [4] Многие из основателей Boost входят в комитет по стандартизации C++ , а несколько библиотек Boost были приняты для включения в Технический отчет C++ 1 , стандарт C++11 (например, интеллектуальные указатели, потоки, регулярные выражения, случайные числа, соотношения, кортежи). [5] [6] и стандарт C++17 (например, файловая система, любой, необязательный, вариант, string_view). [7]
Сообщество Boost возникло примерно в 1998 году, когда была выпущена первая версия стандарта. С тех пор он постоянно рос и теперь играет большую роль в стандартизации C++. Несмотря на то, что между сообществом Boost и комитетом по стандартизации нет официальных отношений, некоторые разработчики активны в обеих группах.
Дизайн
[ редактировать ]Библиотеки предназначены для широкого круга пользователей C++ и областей приложений. Они варьируются от библиотек общего назначения, таких как библиотека интеллектуальных указателей , до операционной системы абстракций , таких как Boost FileSystem , и библиотек, в первую очередь предназначенных для других разработчиков библиотек и опытных пользователей C++, таких как метапрограммирование шаблонов (MPL) и создание предметно-ориентированного языка (DSL). (Прото).
Чтобы обеспечить эффективность и гибкость, Boost широко использует шаблоны . Boost стал источником обширной работы и исследований в области общего программирования и метапрограммирования на C++. [8]
Большинство библиотек Boost основаны на заголовках и состоят из встроенных функций и шаблонов, поэтому их не нужно создавать перед использованием. Некоторые библиотеки Boost сосуществуют как независимые библиотеки. [9] [10]
Связанные люди
[ редактировать ]В число первоначальных основателей Boost, которые до сих пор активны в сообществе, входит Дэвид Абрахамс . Автор нескольких книг по C++ Николай Йосуттис внес свой вклад в библиотеку массивов Boost в 2001 году. Существуют списки рассылки, посвященные использованию библиотеки Boost и ее развитию, действующие с 2023 года. [update]. [11]
Лицензия
[ редактировать ]Последняя версия | 1.0 |
---|---|
Опубликовано | 17 августа 2003 г. |
ФСФ одобрено | Да [12] |
OSI одобрено | Да |
Совместимость с лицензией GPL | Да [12] |
Авторское лево | Нет [12] |
Связывание из кода с другой лицензией | Да |
Веб-сайт | www |
Boost лицензируется по собственной бесплатной , лицензии с открытым исходным кодом известной как Boost Software License. [13] Это разрешительная лицензия в стиле лицензии BSD и лицензии MIT , но без указания авторства для распространения в двоичной форме . [14] Лицензия одобрена OSI с февраля 2008 года. [15] [16] считает его лицензией свободного программного обеспечения , совместимой со Стандартной общественной лицензией GNU Фонд свободного программного обеспечения . [12]
См. также
[ редактировать ]- Портативная среда выполнения Apache – используется HTTP-сервером Apache.
- GLib — эквивалент, на котором GNOME. построен
- KDE Frameworks – эквивалент, на котором компиляция программного обеспечения KDE. построена
- Список библиотек шаблонов C++
- Программное обеспечение, использующее лицензию Boost (категория)
- Стандартная библиотека шаблонов
Ссылки
[ редактировать ]- ^ «Старые версии» . Проверено 11 апреля 2017 г.
- ^ https://www.boost.org/users/history/version_1_85_0.html .
{{cite web}}
: Отсутствует или пусто|title=
( помощь ) - ^ «Список библиотек Boost» .
- ^ «Лицензия на программное обеспечение Boost» . www.boost.org . Проверено 6 января 2022 г.
- ^ «Технический отчет библиотеки» . JTC1/SC22/WG21 — Комитет по стандартам C++. 2 июля 2003 года . Проверено 1 февраля 2012 года .
- ^ «Потоковый API для C++» .
- ^ «Сайт StackOverflow.com» .
- ^ Абрахамс, Дэвид; Гуртовой, Алексей (10 декабря 2004 г.). Метапрограммирование шаблонов C++: концепции, инструменты и методы из Boost и за его пределами . Пирсон Образование. п. 408.
- ^ «Веб-сайт Азио» .
- ^ «Сайт Духа» .
- ^ «Списки рассылки Boost (дискуссионные группы AKA)» . Проверено 28 апреля 2020 г.
- ^ Jump up to: а б с д «Различные лицензии и комментарии к ним — Проект GNU — Фонд свободного программного обеспечения (FSF)» .
- ^ «Лицензия на программное обеспечение Boost — версия 1.0» (TXT) . 17 августа 2003 года . Проверено 22 декабря 2023 г.
- ^ Дауэс, Беман. «Лицензия на программное обеспечение Boost» . Проверено 1 августа 2016 г.
- ^ «Архив списка рассылки Boost» . Архивировано из оригинала 07.11.2016.
- ^ «Лицензия на программное обеспечение Boost 1.0 (BSL-1.0) | Инициатива с открытым исходным кодом» . 5 февраля 2008 г.
Дальнейшее чтение
[ редактировать ]- Демминг, Роберт и Даффи, Дэниел Дж. (2010). Введение в библиотеки Boost C++ . Том. 1 - Фундаменты. Датасим. ISBN 978-94-91028-01-4 .
- Демминг, Роберт и Даффи, Дэниел Дж. (2012). Введение в библиотеки Boost C++ . Том. 2 — Расширенные библиотеки. Датасим. ISBN 978-94-91028-02-1 .
- Мукерджи, Ариндам (2015). Изучение библиотек Boost C++ . Пакет. ISBN 978-1-78355-121-7 .
- Полухин, Антоний (2013). Справочник по разработке приложений Boost на C++ . упаковано. ISBN 978-1-84951-488-0 .
- Полухин, Антоний (2017). Справочник по разработке приложений Boost C++ (2-е изд.). упаковано. ISBN 978-1-78728-224-7 .
- Шелинг, Борис (2011). Библиотеки Boost C++ . XML Пресс. ISBN 978-0-9822191-9-5 .
- Шелинг, Борис (2014). Библиотеки Boost C++ (2-е изд.). XML Пресс. п. 570. ИСБН 978-1-937434-36-6 .
- Зик, Джереми Г.; Ли, Ли-Куан и Ламсдейн, Эндрю (2001). Библиотека Boost Graph: Руководство пользователя и справочное руководство . Аддисон-Уэсли. ISBN 978-0-201-72914-6 .