Библиотека Boost - классификация

Boost - одна из самых больших, функциональных и интересных библиотек для C++. Чего в ней только нет... На официальном сайте boost.org в документации существует классификация библиотек, входящих в состав Boost.
Мало кто применяет все это изобилие на практике. Некоторые библиотеки очень простые, а некоторые настолько сложны, что для правильной работы с ними нужно быть экспертом в C++. Некоторые чрезвычайно полезны, другие скорее демонстрируют потенциальные возможности языка, но вряд ли пригодятся вам в повседневной работе.

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

Вот моя классификация:


  • Алгоритмы
  • Математика и геометрия (матрицы, преобразования, кватерионы и т.д.)
  • Числа (контрольные суммы, случайные числа, криптография...)
  • Система (файловая система, сеть, графика...)
  • Структуры данных, коллекции
  • Вариантные и опциональные типы
  • Метапрограммирование
  • Кортежи
  • Функциональное программирование
  • Сопрограммы
  • Эмуляция языковых фич
  • Параллельное программирование
  • Строки и текст
  • Память и сериализация
  • Машины состояний

Как видно, она более подробная чем официальная классификация Буста. Некоторые библиотеки тем ни менее можно отнести к двум и более группам.

В цикле статей по Бусту я планирую рассмотреть все библиотеки, за исключением разве что специальных математических (хотя возможно рассмотрю и их); для удобства рассмотрения целесообразно использовать именно логическую группировку, а не рассматривать все подряд.

В качестве источников я буду использовать конечно же официальную документацию по Бусту; также замечательную книгу Бориса Шилинга http://theboostcpplibraries.com ; и еще несколько книг, существующих только в бумажном варианте (и только на английском языке). К сожалению, литературы по Бусту очень мало даже на английском.

В следующей статье - собственно группировка для  всех библиотек (причем не только Буст, но и из так называемого Буст Инкубатора, где находятся библиотеки-кандидаты на включение в Буст).

No comments:

Post a Comment