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
|
PDF
290kB |
Official URL: http://dx.doi.org/10.11588/ans.2017.1.27683
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.
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