Log inSign up
Boost C++ | Open Source Libraries
440 posts
user avatar
Boost C++ | Open Source Libraries
@Boost_Libraries
Open source C++ libraries: algorithms, data structures, concurrency, networking & more. Peer-reviewed, portable, battle-tested since 1998. boost.org
Global C++ Community
boost.org
Joined March 2017
216
Following
3,551
Followers
  • ๅทฒ็ฝฎ้กถ
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    2025ๅนด9ๆœˆ10ๆ—ฅ
    Level up your C++ skills! Sharpen your code with the latest from the Boost Libraries, powerful, peer-reviewed, and production-ready New in Boost: Bloom โ€“ High-performance Bloom filters โ†’ boost.org/libs/bloom Hash2 โ€“ Modern, flexible hashing library โ†’ boost.org/libs/hash2
    8.8K
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    20h
    Your logger started as one line: write to a file. Then came rotation. Timestamps. Thread IDs. Thread safety. Silencing DEBUG in release You built a logging framework by accident. Will it survive production? ๐Ÿงต๐Ÿ‘‡
    4.2K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    20h
    Boost Blueprint 073: Boost.Log Attributes attach automatically (timestamps, thread IDs, scope) no format string clutter Sinks compose through a filter/formatter/sink pipeline: rotating files, syslog, Windows event log, or your own. Async sinks let the logging thread enqueue
    726
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    20h
    godbolt.org
    Compiler Explorer - C++
    // Logging that doesn't format what it won't write namespace logging = boost::log; namespace keywords = boost::log::keywords; void init_logging() { logging::add_file_log( keywords::file_name =...
    491
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ25ๆ—ฅ
    Two processes share a std::atomic<int> in shared memory. Compiles, runs, passes CI. Then you port to a new arch and it silently corrupts std::atomic guarantees atomicity across threads, not across processes. So what do you do? ๐Ÿงต๐Ÿ‘‡
    6.7K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ25ๆ—ฅ
    Boost Blueprint 072: Boost.Atomic Same std::atomic interface, built for what the standard skips. IPC atomics are safe to share across processes, not just threads Extra ops std:: lacks: fetch_negate, fetch_complement, bit_test_and_set, timed waits. And the wait/notify
    1.2K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ25ๆ—ฅ
    godbolt.org
    Compiler Explorer - C++
    // Interprocess atomics with Boost.Atomic namespace bip = boost::interprocess; using Counter = boost::ipc_atomic; int main() { constexpr auto mapped_filename = "ipc_counter"; constexpr int num_chil...
    787
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ24ๆ—ฅ
    Need to write a custom C++ iterator? Get ready for 5 typedefs, a category tag, and somewhere around 6 to 20 operators. Every time That's not abstraction, it's paperwork. Thereโ€™s a better way ๐Ÿงต๐Ÿ‘‡
    3.9K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ24ๆ—ฅ
    Boost Blueprint 071: Boost.Iterator iterator_facade builds you a full, standards-conforming iterator from just dereference, increment, and equal_to iterator_adaptor wraps an existing one so you only override what you want to change And counting_iterator, zip_iterator,
    819
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ24ๆ—ฅ
    godbolt.org
    Compiler Explorer - C++
    // Custom iterator: just the logic, no boilerplate struct Node { int value; Node* next; }; // Full standards-conforming iterator โ€” only 3 methods class NodeIterator : public boost::iterator_facade<...
    570
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ23ๆ—ฅ
    Asio predates C++ coroutines by 15 years. What would a networking library look like if coroutines came first? Boost is about to find out. The formal review of Corosio & Capy starts today #cpp
    4K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ23ๆ—ฅ
    Corosio: coroutine-native async networking. Awaitable I/O, executor affinity, cancellation, cross-platform (IOCP/epoll/kqueue) Capy: the coroutine foundation underneath. Task types, executors, async sync primitives, coroutine composition Review manager: Jeff Garland (who also
    GitHub - cppalliance/corosio
    From github.com
    388
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ22ๆ—ฅ
    std::string has no trim(). No split(). No case insensitive compare It's 2026. Python had these in 1991 Are you still hand rolling string utilities in C++? ๐Ÿงต๐Ÿ‘‡
    18.1K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ22ๆ—ฅ
    Boost Blueprint 070: Boost.StringAlgo Trim, split, join, replace, erase, and predicate-based searching. All as free functions that work on any string type (std::string, std::wstring, string_view) Case insensitive variants are built in. No custom helpers, no off-by-one slicing,
    2.3K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ22ๆ—ฅ
    godbolt.org
    Compiler Explorer - C++
    // String operations the standard library forgot int main() { std::string input = " Hello, Boost World! "; // Trim whitespace in place โ€” one call instead of complex position // tracking with std::f...
    1.7K
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ19ๆ—ฅ
    You're parsing a config file with regex. Fine, until you hit nested brackets or recursive structures Here's the catch: regex can't parse context-free grammars. It's not a flaw in your pattern, it's mathematically impossible So what does your parser fall back to? ๐Ÿงต๐Ÿ‘‡
    4.9K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ19ๆ—ฅ
    Boost Blueprint 069: Boost.Spirit (X3) Write parsers in C++ with EBNF-like syntax, right in your source. No external tools, no codegen Spirit compiles your grammar into a recursive descent parser at compile time, handling the context-free grammars regex can't. Header only, zero
    5.2K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ19ๆ—ฅ
    godbolt.org
    Compiler Explorer - C++
    // Parse a mini language โ€” context-free grammar, not regex namespace x3 = boost::spirit::x3; // Grammar: comma-separated list of doubles in brackets // e.g., "[1.5, 2.7, 3.14]" โ€” the equivalent regex...
    840
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ18ๆ—ฅ
    std::locale promises your program can adapt to any language and culture Reality: some standard libraries ship only "C" and "posix", and locale names aren't standardized across platforms. The locale you need may not exist on the system you're running it on Is your i18n actually
    2.4K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ18ๆ—ฅ
    Boost Blueprint 068: Boost.Locale Real internationalization, built on ICU. Unicode-correct collation, case folding and normalization. Dates, timezones and non-Gregorian calendars. Message translation with plural forms. Monetary and number formatting. The cultural support the
    685
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    6ๆœˆ18ๆ—ฅ
    Colab logo
    colab.research.google.com
    Boost.Locale Demo.ipynb
    Colab notebook
    429

New to X?

Sign up now to get your own personalized timeline!

Create account

By signing up, you agree to the Terms of Service and Privacy Policy, including Cookie Use.

TermsยทPrivacyยทCookiesยทAccessibilityยทAds Infoยทยฉ 2026 X Corp.
Don't miss what's happening
People on X are the first to know.
Log inSign up