function2
compile-time-init-build
function2 | compile-time-init-build | |
---|---|---|
7 | 10 | |
530 | 402 | |
- | 5.5% | |
4.7 | 9.3 | |
2 months ago | 8 days ago | |
C++ | C++ | |
Boost Software License 1.0 | Boost Software License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
function2
-
Callbacks in embedded | heapless environment
Fixed size function wrappers are not only limited and also a waste of space. Use a configurable function wrapper like fu2 with a stack allocator and set small object optimizer capacity to 0.
- Scriptable Headless Player Bots and independent ECS in a Custom UE C++ Server for MMO(RPG)s.
- A custom C++ server for the Unreal Engine 5, optimized for MMO(RPG)s.
-
A simple std::function alternative that never allocates
std::function wasn't cutting it for me, but I ended up going with fu2::function. It comes with a lot of features (almost too many), but the header size and compile times are comparable to , and it fit my needs pretty well.
-
Idle: an asynchronous and hot-reloadable C++ dynamic component framework
Thank you, function2 is also used heavily in Idle as a type-erasure backend for continuable that is the primary asynchronous task abstraction.
- Should std::function's move assignment operation be noexcept?
-
Orthodox C++
You can write your own std::function, too, nor is it the only STL type that can take a capturing lambda (std::packaged_task for example).
A capturing lambda is just a class with an operator(). It's complicated to do what std::function does, but fully possible.
In fact, custom std::function replacements have better lambda support than std::function itself. Such as unique_function in https://github.com/Naios/function2 which can handle non-copyable lambdas.
compile-time-init-build
- C++ library for composing modular firmware at compile-time
- Cib: C++ library for composing modular firmware at compile-time
- Callbacks in embedded | heapless environment
-
Looking for well written, modern C++ (17/20) example projects for microcontrollers
cib: a hyper-modern way that intel is doing it's foundational infrastructure
- Cib – Compile-Time Initialization and Build
-
Future of embedded coding architecture
What are your thoughts about this CIB library by Intel, https://github.com/intel/compile-time-init-build I am interested to see if this is a generalized and good approach to use compile time polymorphism in MCUs.
- GitHub - intel/compile-time-init-build: C++ library for composing modular firmware at compile-time.
What are some alternatives?
Inja - A Template Engine for Modern C++
amp-embedded-infra-lib - amp-embedded-infra-lib is a set of C++ libraries and headers that provide heap-less, STL like, infrastructure for embedded software development
FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code.
cpp_stm32 - Pure c++17 implementation of stm32 driver
LSHBOX - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support python and matlab.
tinyusb - An open source cross-platform USB stack for embedded system
stx-btree - OBSOLETE, contained in https://github.com/tlx/tlx - STX B+ Tree C++ Template Classes -
etl - Embedded Template Library
Hashmaps - Various open addressing hashmap algorithms in C++
amp-hal-st - HAL implementation of the Embedded Infrastructure Library for ST microcontrollers
Learn Project - go study
sml - C++14 State Machine library