arXiv · 1512.06136
The interface for functions in the dune-functions module
Abstract
The dune-functions dune module introduces a new programmer interface for discrete and non-discrete functions. Unlike the previous interfaces considered in the existing dune modules, it is based on overloading operator(), and returning values by-value. This makes user code much more readable, and allows the incorporation of newer C++ features such as lambda expressions. Run-time polymorphism is implemented not by inheritance, but by type erasure, generalizing the ideas of the std::function class from the C++11 standard library. We describe the new interface, show its possibilities, and measure the performance impact of type erasure and return-by-value.
Explore related subjects
Keep this discovery
Christian Engwer, Carsten Gräser, Steffen Müthing, Oliver Sander. 2015-12-18. The interface for functions in the dune-functions module. https://doi.org/10.11588/ans.2017.1.27683
Cite the original work for its findings. Save a collection to share your selection of sources.