Log inSign up
Boost C++ | Open Source Libraries
434 posts
Image
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,525
Followers
  • Pinned
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Sep 10, 2025
    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
    Image
    8.6K
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    2h
    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 ๐Ÿงต๐Ÿ‘‡
    642
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    2h
    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,
    Image
    229
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    2h
    Image
    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<...
    151
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 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
    Image
    3.2K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 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
    Image
    GitHub - cppalliance/corosio
    From github.com
    318
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 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++? ๐Ÿงต๐Ÿ‘‡
    18K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 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,
    Image
    2.2K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 22
    Image
    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
    Jun 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.8K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 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
    Image
    5.1K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 19
    Image
    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...
    825
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 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
    Jun 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
    Image
    671
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 18
    Colab logo
    colab.research.google.com
    Boost.Locale Demo.ipynb
    Colab notebook
    420
  • user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 17
    std::vector hits the heap on your very first push_back. 3 elements or 8, doesn't matter The vector is just 24 bytes on the stack. But the elements you pushed go to the heap. In a tight loop that allocation is your bottleneck, not the algorithm What if that allocation was
    8.3K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 17
    Boost Blueprint 067: Boost.Container small_vector It keeps the first N elements inline right on the stack. So if your vector stays small, it never allocates at all Push past N and it quietly falls back to dynamic allocation. Same API as std::vector so swapping it in costs
    Image
    1.4K
    user avatar
    Boost C++ | Open Source Libraries
    @Boost_Libraries
    Jun 17
    Image
    godbolt.org
    Compiler Explorer - C++
    // small_vector: stack-allocated for small sizes, heap when it grows int main() { using boost::container::small_vector; // Up to 8 elements stored inline โ€” zero heap allocation small_vector small =...
    891

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
Advertisement
Advertisement