Repository: Freie Universität Berlin, Math Department

The interface for functions in the dune-functions module

Engwer, C. and Gräser, C. and Müthing, S. and Sander, O. (2017) The interface for functions in the dune-functions module. Archive of Numerical Software, 5 (1). pp. 95-110. ISSN 2197-8263


Official URL:


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.

Item Type:Article
Subjects:Mathematical and Computer Sciences > Mathematics > Numerical Analysis
Divisions:Department of Mathematics and Computer Science > Institute of Mathematics
ID Code:2006
Deposited By: Ekaterina Engel
Deposited On:16 Jan 2017 09:26
Last Modified:26 Apr 2017 07:24

Repository Staff Only: item control page