Skip to content
Snippets Groups Projects
Commit 5235397b authored by Andreas Dedner's avatar Andreas Dedner
Browse files

Update CHANGELOG.md (layout and referenced to MRs)

parent 336ae473
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -9,7 +9,11 @@ ...@@ -9,7 +9,11 @@
intervals)` and `refinementLevels(int levels)` to construct parameters of intervals)` and `refinementLevels(int levels)` to construct parameters of
type `RefinementIntervals`. type `RefinementIntervals`.
See core/dune-geometry!51
- The class `GeometryType` has been cleaned up in major way: - The class `GeometryType` has been cleaned up in major way:
See core/dune-geometry!64 and core/dune-geometry!55
- The class and most of its methods are now `constexpr`. - The class and most of its methods are now `constexpr`.
...@@ -25,6 +29,8 @@ ...@@ -25,6 +29,8 @@
- The reference element interface has had a substantial overhaul that can break backwards - The reference element interface has had a substantial overhaul that can break backwards
compatibility in some corner cases. compatibility in some corner cases.
See core/dune-geometry!52
- `ReferenceElement` has value semantics now: You should store instances by value and can freely - `ReferenceElement` has value semantics now: You should store instances by value and can freely
copy them around. Doing so is not more expensive than storing a const reference. copy them around. Doing so is not more expensive than storing a const reference.
...@@ -49,25 +55,25 @@ ...@@ -49,25 +55,25 @@
you need to explicitely access the type, this is also available as you need to explicitely access the type, this is also available as
`Dune::ReferenceElement<Geometry>`. `Dune::ReferenceElement<Geometry>`.
In short: If you can, use the following idiom to obtain a reference element for a geometry: In short: If you can, use the following idiom to obtain a reference element for a geometry:
```c++ ```c++
auto ref_el = referenceElement(geometry); auto ref_el = referenceElement(geometry);
``` ```
The change to the meaning of `Dune::ReferenceElement` can break compilation if you have function The change to the meaning of `Dune::ReferenceElement` can break compilation if you have function
overloads that partially specialize on it, e.g. overloads that partially specialize on it, e.g.
```c++ ```c++
template<typename ctype, int dim> template<typename ctype, int dim>
void f(const Dune::ReferenceElement<ctype,dim> ref_el) void f(const Dune::ReferenceElement<ctype,dim> ref_el)
{} {}
``` ```
Normally, you can just simplify this to the following code that also shows how to extract the Normally, you can just simplify this to the following code that also shows how to extract the
missing template parameters: missing template parameters:
```c++ ```c++
template<typename RefEl> template<typename RefEl>
void f(const RefEl ref_el) void f(const RefEl ref_el)
{ {
using ctype = typename RefEl::CoordinateField; using ctype = typename RefEl::CoordinateField;
constexpr auto dim = RefEl::dimension; constexpr auto dim = RefEl::dimension;
} }
``` ```
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment