Conceito, Instalação e Exemplos de uso da biblioteca Boost

⏱️ A Boost é Multiplataforma: Windows, macOS, GNU/Linux, BSD e qualquer outros sistema operacional e arquitetura.


Conceito, Instalação e Exemplos de uso da biblioteca Boost


Boost é um conjunto de bibliotecas para a linguagem de programação C++ que fornece suporte para tarefas e estruturas como álgebra linear, geração de números pseudoaleatórios, multithreading, processamento de imagens, expressões regulares e testes unitários.

Ele contém 164 bibliotecas individuais (a partir da versão 1.76).

Todas as bibliotecas Boost são licenciadas sob a Boost Software License , projetada para permitir que o Boost seja usado com projetos de software livre e proprietário.

Muitos dos fundadores do Boost estão no comitê de padrões C++(por isso, muitas vezes o site da Boost é visto como site do C++), e várias bibliotecas criadas pela Boost foram aceitas para incorporação no C++(Technical Report 1), tais como:

A comunidade Boost surgiu por volta de 1998, quando a primeira versão do padrão foi lançada.

Os fundadores originais do Boost ainda estão ativos na comunidade, dentre eles há o Nicolai Josuttis, um escritor de livros de C++ que eu tenho o prazer de possuir um dos livros dele: 📘

Livro do Nicolai Josuttis


Instalação

No Windows

É interessante usar os gerenciadores de pacotes como: Winget, no entanto, a melhor opção é usar o vcpkg

Usando vcpkg

vcpkg é um gerenciador de pacotes popular para C++ que facilita a instalação de bibliotecas, incluindo Boost.

  • Baixe e instale vcpkg: Abra o PowerShell e execute os seguintes comandos para baixar e configurar o vcpkg:

    Instale o Git de acordo com esse artigo.

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat

Instale Boost usando vcpkg, ainda no PowerShell, execute o comando para instalar Boost:

.\vcpkg install boost

Integre vcpkg com seu ambiente de desenvolvimento. Para usar as bibliotecas instaladas pelo vcpkg, você precisa integrar vcpkg com seu ambiente de desenvolvimento. Para Visual Studio, execute:

.\vcpkg integrate install

Isso permite que o Visual Studio detecte automaticamente as bibliotecas instaladas pelo vcpkg.

Outra forma de instalar Boost no Windows é usar o instalador oficial disponível no site do Boost:

Extraia o conteúdo do arquivo .zip ou .7z para um diretório de sua escolha.

Compilar Boost (opcional): Alguns módulos do Boost podem precisar ser compilados. Para compilar, abra o Command Prompt e navegue até o diretório do Boost. Em seguida, execute:

bootstrap.bat
.\b2

Isso irá compilar os módulos necessários e criar os arquivos de biblioteca.

Configure o caminho do Boost no seu ambiente de desenvolvimento (como Visual Studio) para que ele possa localizar os arquivos de cabeçalho e as bibliotecas compiladas.


No Ubuntu:

Para instalar a biblioteca Boost no Ubuntu via APT, rode esses comando no seu terminal:

sudo apt update
sudo apt install libboost-all-dev

Se você deseja instalar apenas módulos específicos do Boost, você pode instalar os pacotes individuais. Por exemplo, para instalar apenas o Boost.Filesystem e o Boost.System, você pode usar: sudo apt install libboost-filesystem-dev libboost-system-dev.

Depois de instalar a biblioteca Boost, você pode verificar a instalação conferindo a versão instalada:

dpkg -s libboost-all-dev | grep 'Version'

Agora vamos ver como usar a Boost com alguns exemplos!


01. Limpar espaços em branco no início e final de uma string

Sabe aquela função pronta do PHP que você queiria que existisse na STL? Sim, aquela que remove espaços em branco, muito utilizada para tratar input do HTML?

Na Boost, basta você incluir o header: string.hpp e usá-la, exemplo:

#include <iostream>
#include <boost/algorithm/string.hpp>

int main() {
    std::string str = "     Hello, World!    ";
    boost::algorithm::trim(str);
    std::cout << "'" << str << "'" << std::endl;
    return 0;
}

Lógico que você pode fazer essa façanha do zero com algorithm ou com regex, mas nada como ter ela prontinha só pra usar.


02. Converte uma string para um tipo específico ou vice-versa, de forma segura e conveniente.

E aquelas conversões que às vezes enchem o saco, na Boost basta incluir a #include <boost/lexical_cast.hpp> e usar:

int i = boost::lexical_cast<int>("123");
std::string s = boost::lexical_cast<std::string>(456);

Como nem todos os tipos são cambiáveis, o ideal é usá-la dentro de um try catch!


03. Substitui todas as ocorrências de um substring por outro.

Mais uma vez, o pessoal do desenvolvimento web, amam usar essa funcionalidade. E isso na Boost basta incluir também a #include <boost/algorithm/string.hpp>:

std::string s = "Hello World";
boost::algorithm::replace_all(s, "World", "Boost");
// s agora é "Hello Boost"

04. Cria funções e functors através de vinculação de argumentos.

Se você não entende ainda o porque de vincular argumentos, sugiro ler esse artigo.

auto f = boost::bind(std::plus<int>(), 1, 2);
int result = f(); // result é 3

Essas funções e classes são apenas uma pequena amostra da vasta funcionalidade que a biblioteca Boost oferece, tornando-a uma ferramenta poderosa e essencial para desenvolvedores C++.

Diversos softwares utilizam a Boost, dentre eles: Asio, Dlang, POCO, Red Programming Language e muitos outros!


O endereço oficial do site da Boost é: https://www.boost.org e o repositório oficial da Boost no GitHub pode ser encontrado no seguinte endereço: https://github.com/boostorg/boost. E mais links úteis: https://boost-spirit.com/home/ e https://en.wikipedia.org/wiki/Boost_(C%2B%2B_libraries).


cpp cppdaily


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!