FunctionalPlus
function2
Our great sponsors
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
- SaaSHub - Software Alternatives and Reviews
FunctionalPlus | function2 | |
---|---|---|
10 | 7 | |
1,905 | 493 | |
- | - | |
0.0 | 0.0 | |
about 2 months ago | 27 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.
FunctionalPlus
-
Leaving Haskell Behind
Hoogle is really amazing!
Inspired by it, I implemented something similar for FunctionalPlus (a functional-programming library for C++): https://www.editgym.com/fplus-api-search/
I'd love to see more projects taking this path too. :)
-
C++ algorithm helpers - kdalgorithms
A comparable library is FunctionalPlus
You can get a feel for it on its api search site: as an example, enter these queries:
-
C++20 Ranges The Key Advantage - Algorithm Composition
I use a library called FunctionalPlus daily.
-
Building a Dual Shared and Static Library with CMake
Any project CML file that is more complex than this is mismanaged and needs fixing asap. There is absolutely no reason to make CML files describing requirements of a library substantially more complex other than if you have a vendetta against yourself, package maintainers and your users.
-
CLion IDE
FunctionalPlus - 30 lines for usage requirements + 60 for install rules: just simple commands creating a target, setting properties and defining install rules. Hmm, nothing unholy here.
-
Best practice unit tests + examples with cmake
You can copy this project structure: https://github.com/Dobiasd/FunctionalPlus
- CMake and the Future of C++ Package Management
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.
-
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.
What are some alternatives?
C++ B-tree - Git mirror of the official (mercurial) repository of cpp-btree
v8pp - Bind C++ functions and classes into V8 JavaScript engine
Inja - A Template Engine for Modern C++
dynamic_bitset - Simple Useful Libraries: C++17/20 header-only dynamic bitset
Hashmaps - Various open addressing hashmap algorithms in C++
sparsehash - C++ associative containers
pybind11 - Seamless operability between C++11 and Python
LSHBOX - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support python and matlab.
nvim-dap - Debug Adapter Protocol client implementation for Neovim
CPM.cmake - 📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
stx-btree - OBSOLETE, contained in https://github.com/tlx/tlx - STX B+ Tree C++ Template Classes -