<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Boost on Pi Stack</title>
    <link>https://www.pistack.xyz/tags/boost/</link>
    <description>Recent content in Boost on Pi Stack</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 22 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.pistack.xyz/tags/boost/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C&#43;&#43; Error Handling Libraries: Boost.LEAF vs tl::expected vs Boost.Outcome vs std::expected</title>
      <link>https://www.pistack.xyz/posts/2026-06-22-cpp-error-handling/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-22-cpp-error-handling/</guid>
      <description>&lt;p&gt;Error handling is one of the most debated topics in C++ — exceptions, error codes, &lt;code&gt;std::optional&lt;/code&gt;, and monadic result types all compete for adoption. Choosing the right strategy directly impacts code readability, performance, and maintainability. This guide compares four modern C++ error handling libraries: Boost.LEAF, tl::expected, Boost.Outcome, and the standard &lt;code&gt;std::expected&lt;/code&gt; (C++23).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Self-Hosted C&#43;&#43; Filesystem Libraries: std::filesystem vs ghc::filesystem vs Boost.Filesystem</title>
      <link>https://www.pistack.xyz/posts/2026-06-22-cpp-filesystem-libraries-stdfilesystem-ghcfilesystem-boostfilesystem/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-22-cpp-filesystem-libraries-stdfilesystem-ghcfilesystem-boostfilesystem/</guid>
      <description>&lt;p&gt;Filesystem operations — traversing directories, checking file permissions, copying and moving files — are fundamental to almost every non-trivial C++ application. Before C++17, developers relied on platform-specific APIs (POSIX &lt;code&gt;dirent.h&lt;/code&gt;, Windows &lt;code&gt;FindFirstFile&lt;/code&gt;) or third-party libraries. The standardization of &lt;code&gt;std::filesystem&lt;/code&gt; in C++17 changed the landscape, but real-world projects still face practical challenges: legacy C++11/14 codebases, incomplete compiler support, and the need for extended functionality beyond the standard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Self-Hosted C&#43;&#43;20 Coroutine Libraries: cppcoro vs Boost.Cobalt vs concurrencpp</title>
      <link>https://www.pistack.xyz/posts/2026-06-22-cpp20-coroutine-libraries-cppcoro-boostcobalt-concurrencpp/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-22-cpp20-coroutine-libraries-cppcoro-boostcobalt-concurrencpp/</guid>
      <description>&lt;p&gt;Coroutines are the most transformative C++ feature since move semantics. With C++20, the language gained native coroutine support through the &lt;code&gt;co_await&lt;/code&gt;, &lt;code&gt;co_yield&lt;/code&gt;, and &lt;code&gt;co_return&lt;/code&gt; keywords — but the standard library did not provide any concrete coroutine types. This intentional gap left the ecosystem to innovate, and three libraries have emerged as the leading options: &lt;strong&gt;cppcoro&lt;/strong&gt; by Lewis Baker, &lt;strong&gt;Boost.Cobalt&lt;/strong&gt; from the Boost organization, and &lt;strong&gt;concurrencpp&lt;/strong&gt; by David Haim.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
