The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 C++ Boost Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
json
A C++11 library for parsing and serializing JSON to and from a DOM container in memory. (by boostorg)
-
url
Boost.URL is a library for manipulating Uniform Resource Identifiers (URIs) and Locators (URLs). (by boostorg)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
This single feature opens a world of new possiblities. For example, it makes implementing "getting the number of fields" trivial. Furthrmore, and much more importantly, it enables turning a struct into a tuple. Currently, this can only be done by enumerating cases (therefore it's not fully generic), as with Boost PFR. By the way, PFR greatly simplifies our codebases, especially for parts with serialization and/or reflection.
Anyway the need is not complicated, I need both entry and exit functions from every state, optionally allowing these functions to be coroutines (that's special sauce but for later), and an explicit state transition table which also have a way to say that a state can be accessed at any point. Also allow states to be state machines, optional FSM hierarchies. If you ignore the coroutine stuff it's pretty standard features these days, except that - Boost.MSM is quite archaic now (it was so novel when it was first released...) although it allows most of the features I talked about, I just think it will complicate my code unneecessarilly; - Boost-Ext.SML (not Boost) is almost perfect except it doesnt have entry/exit functions on states for some reason. Also last time we (as in in livestream) tried it in prototypes it didnt compile on msvc XD - Boost-Ext.SML2 is even better but still doesnt have entry/exit functions although it's in the plans.
IIRC they can be extracted using innoextract: https://github.com/dscharrer/innoextract
Return to the Roots - The Settlers 2 clone. C++, SDL2
More information on the async I/O can be found in the docs.
C++ Boost related posts
- Boost.Scope: collection of scope guard utilities
- Sharing Saturday #496
- Ichor v0.3.0 released: async file I/O now included
- Rooting for P1061 "Structured Bindings can introduce a Pack"
- The New Boost Website Goes Beta
- [C++20][safety] static_assert is all you need (no leaks, no UB)
- State machines with C++20 coroutines and Asio/Boost Async
-
A note from our sponsor - WorkOS
workos.com | 27 Apr 2024
Index
What are some of the best open-source Boost projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Boost.Beast | 4,164 |
2 | hana | 1,635 |
3 | Boost.Compute | 1,497 |
4 | soci | 1,341 |
5 | pfr | 1,261 |
6 | ut | 1,197 |
7 | Experimental Boost.DI | 1,103 |
8 | sml | 1,072 |
9 | innoextract | 893 |
10 | CppMicroServices | 785 |
11 | outcome | 661 |
12 | s25client | 462 |
13 | json | 415 |
14 | stacktrace | 396 |
15 | spirit | 377 |
16 | construct | 352 |
17 | rotor | 327 |
18 | legoino | 244 |
19 | url | 177 |
20 | Ichor | 174 |
21 | Boost.GIL | 173 |
22 | Boost.Test | 168 |
23 | httpp | 166 |
Sponsored