Yomm11 alternatives and similar libraries
Based on the "Frameworks" category.
Alternatively, view Yomm11 alternatives based on common mentions on social networks and blogs.
-
Cinder
A community-developed, free and open source library for professional-quality creative coding. [BSD] -
JUCE
An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] website -
libPhenom
libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] -
LibSourcey
C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] -
Loki
A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] -
Apache C++ Standard Library
STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2] -
ROOT
A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] -
Reason
A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] -
Cxxomfort
A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] -
GLib
GLib provides the core application building blocks for libraries and applications written in C. [LGPL] -
ASL
Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] -
Windows Template Library
A C++ library for developing Windows applications and UI components. [Public] -
Ultimate++
A C++ cross-platform rapid application development framework. [BSD]
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Yomm11 or a related project?
Popular Comparisons
README
YOMM11 IS DEPRECATED
Thank you for the stars and the feedback!
In 2017 I learned the D language, and I implemented an open method library for D. In the process I had a few fresh ideas, some of which are applicable to C++. Also, my colleague David Goffredo educated me on the power of modern preprocessor macros.
Consequently, I set out to re-implement Yomm11 from scratch. The result is Yomm2, which I feel is a much better library. Read about the improvements here.
I will no longer actively develop Yomm11 but I will consider PRs. I strongly recommend switching to Yomm2 though.
Old content:
This library implements open multi-methods for C++11.
Salient features are:
syntax: is relatively uncluttered. There are no limitations on the number of virtual arguments. Virtual and non-virtual arguments can be arbitrarily mixed. Virtual and multiple inheritance are supported.
speed: close to a virtual function call when the hierarchies involved in the virtual arguments collaborate with the library. Calling a method that does nothing, with a single virtual argument in a single inheritance hierarchy is 33% slower than the equivalent virtual function call. The difference becomes unnoticeable if the functions perform a few simple maths operations. See tests/benchmarks.cpp.
size: dispatch tables are constructed in terms of class groups. This results in a tables devoid of redundancies.
support for "foreign" class hierarchies: the library can be used without modifications to existing classes, at the cost of lower performance. Collaborating and foreign arguments can be freely mixed. Performance is still quite good, see the benchmarks.
next: a pointer to the next most specialized method is available inside method specializations - see examples/next.cpp. Alternatively, it is possible to call a specialization directly.
Documentation: http://www.yorel.be/mm/ - see also the articles on Code Project http://tinyurl.com/m8kg2y3
Support and discussions: yomm11 on Google Groups (https://groups.google.com/forum/#!forum/yomm11)
Author: Jean-Louis Leroy - [email protected]