C++ Boost Library Cheat Sheet
Covers popular Boost C++ modules including Filesystem, StringAlgo, Asio networking, Optional, and lexical_cast for extending the standard library.
3 PagesAdvancedApr 2, 2026
Boost.Filesystem
Portable filesystem path and directory operations.
cpp
#include <boost/filesystem.hpp>namespace fs = boost::filesystem;fs::path p = "/tmp/data/file.txt";std::cout << p.filename() << "\n"; // file.txtstd::cout << p.extension() << "\n"; // .txtstd::cout << p.parent_path() << "\n"; // /tmp/dataif (!fs::exists(p.parent_path())) { fs::create_directories(p.parent_path());}for (auto& entry : fs::directory_iterator("/tmp/data")) { std::cout << entry.path() << "\n";}
Boost.StringAlgo
Common string manipulation helpers not in the standard library.
cpp
#include <boost/algorithm/string.hpp>std::string s = " Hello, World! ";boost::trim(s); // "Hello, World!"boost::to_lower(s); // "hello, world!"std::vector<std::string> parts;boost::split(parts, s, boost::is_any_of(",")); // split on commabool starts = boost::starts_with(s, "hello");std::string joined = boost::join(parts, "-");
Boost.Asio TCP Client
Synchronous TCP socket connection with Boost.Asio.
cpp
#include <boost/asio.hpp>using boost::asio::ip::tcp;boost::asio::io_context io;tcp::resolver resolver(io);auto endpoints = resolver.resolve("example.com", "80");tcp::socket socket(io);boost::asio::connect(socket, endpoints);std::string request = "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n";boost::asio::write(socket, boost::asio::buffer(request));boost::asio::streambuf response;boost::asio::read_until(socket, response, "\r\n");
Boost.Optional & lexical_cast
Nullable value wrapper and safe string/number conversion.
cpp
#include <boost/optional.hpp>#include <boost/lexical_cast.hpp>boost::optional<int> parseInt(const std::string& s) { try { return boost::lexical_cast<int>(s); } catch (const boost::bad_lexical_cast&) { return boost::none; }}if (auto value = parseInt("42")) { std::cout << *value; // 42}
Popular Boost Libraries
Widely used modules in the Boost collection.
- Boost.Asio- Asynchronous and synchronous networking and low-level I/O.
- Boost.Filesystem- Portable path manipulation and directory/file operations (mostly superseded by std::filesystem in C++17).
- Boost.Thread- Threading primitives predating and extending std::thread.
- Boost.Regex- Regular expressions (predates and extends std::regex).
- Boost.Beast- HTTP and WebSocket support built on top of Boost.Asio.
- Boost.Serialization- Serialize/deserialize C++ objects to/from various formats.
- Boost.Program_options- Command-line and config-file argument parsing.
Pro Tip
Before pulling in a Boost module, check if the standard library now covers it - std::filesystem, std::optional, std::variant, and std::regex were all standardized versions of originally Boost-only features, reducing your dependency footprint.
Was this cheat sheet helpful?
Explore Topics
#CBoostLibrary#CBoostLibraryCheatSheet#Programming#Advanced#BoostFilesystem#BoostStringAlgo#Boost#Asio#Networking#CheatSheet#SkillVeris
Advertisement
Sri Hayavadhana Info-Tech
Professional Web Designing Services
- Responsive Websites
- E-commerce Solutions
- SEO Friendly Design
- Fast & Secure
- Support & Maintenance