List of resources about modern dynamic polymorphism in C++.
Some libraries may end-up in two lists if they support multiple features
Allow you to create a polymorphic interface which can be used without inheritance.
- Dyno: https://github.com/ldionne/dyno
- Eraserface: https://github.com/badair/eraserface
- Folly.Poly: https://github.com/facebook/folly/blob/master/folly/docs/Poly.md (This is a link to the documentation. The library itself is part of Folly)
- liberasure: https://github.com/atomgalaxy/liberasure
Allow you to create external polymorphic methods for existing classes.
Allow you to define functions which are dispatched based on multiple arguments as opposed to one in the clasical virtual function case.
- Folly.Poly: https://github.com/facebook/folly/blob/master/folly/docs/Poly.md (This is a link to the documentation. The library itself is part of Folly)
- yomm2: https://github.com/jll63/yomm2
Allow you to create polymorphic objects from building blocks through composition over inheritance.
- DynaMix: https://github.com/iboB/dynamix
Allow you to invoke multiple functions with a single call.
- ???
- Dynamic Generic Programming with Virtual Concepts https://github.com/andyprowl/virtual-concepts
- The Interface to Component Pattern and DynaMix https://accu.org/index.php/journals/2487