Runtime Template Instantiation for C++
Akim Demaille

TL;DR
This paper discusses enhancing C++ template-based libraries with runtime instantiation to improve flexibility without sacrificing performance or genericity, exemplified in the Vcsn platform.
Contribution
It introduces a novel approach for runtime template instantiation in C++, enabling flexible data handling in templated libraries.
Findings
Enables runtime instantiation of C++ templates.
Improves flexibility of templated libraries like Vcsn.
Maintains performance and genericity in scientific computing environments.
Abstract
Performance, genericity and flexibility are three valuable qualities for scientific environments that tend to be antagonistic. C++ provides excellent support for both performances and genericity thanks to its support for (class and function) templates. However, a C++ templated library can hardly be qualified as flexible: data of unexpected types cannot enter the system, which hinders user interactions. This paper describes the approach that was taken in the Vcsn platform to add flexibility on top of C++ templates, including runtime template instantiation.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Distributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques
