Draft: Remove the FieldVector<K,1> specialization
-
Review changes -
-
Download -
Patches
-
Plain diff
Summary
This MR removes the separate specialization of FieldVector<K,1>
as a scalar type. Instead some functions are added to the primary template constrained to be only valid of SIZE == 1
case. Additionally, the interaction with scalar (field) types is being improved by allowing any type that is counted as IsNumber
. Some alternatives were considered. Due to the implicit conversion operator of FieldVector<K,1>
to const K&
, several options lead to ambiguities.
Instead of using std::enable_if
to constrain the functions to specific cases, this MR uses c++20 concepts and a requires
clause. This makes the code more readable and the error messages better explaining what the problem is.
ToDo
-
Requires an updated compiler toolchain with c++20 enabled. -
Extract some changes into separate MRs, e.g. !1492 (merged), !1493 (merged) -
Include changes from !1472 (merged) that makes DUNE_THROW usable in constexpr
Edited by Simon Praetorius
Merge request reports
Compare and
- version 28434b9a5d
- version 27a9937013
- version 26282ef168
- version 258e8b2753
- version 2487359fe2
- version 231c386470
- version 227c7a775a
- version 212ab4d1ff
- version 2068ef4108
- version 19275d15f0
- version 183ce8e3f4
- version 178688d7a7
- version 16d6c6aa24
- version 15718ea230
- version 1467404983
- version 13cb19ba27
- version 122ea60605
- version 1104434c4f
- version 1057952bae
- version 9d8449a35
- version 8cd53eb21
- version 7ec4d05de
- version 67e63cb48
- version 526633d1d
- version 40fc3d48d
- version 3fbd7ddf5
- version 286b12cb1
- version 154b851a4
- master (base)
- latest version9e2f350128 commits,
- version 28434b9a5d27 commits,
- version 27a993701326 commits,
- version 26282ef16825 commits,
- version 258e8b275324 commits,
- version 2487359fe223 commits,
- version 231c38647024 commits,
- version 227c7a775a23 commits,
- version 212ab4d1ff24 commits,
- version 2068ef410823 commits,
- version 19275d15f022 commits,
- version 183ce8e3f421 commits,
- version 178688d7a720 commits,
- version 16d6c6aa2419 commits,
- version 15718ea23018 commits,
- version 146740498317 commits,
- version 13cb19ba2714 commits,
- version 122ea6060514 commits,
- version 1104434c4f16 commits,
- version 1057952bae15 commits,
- version 9d8449a3513 commits,
- version 8cd53eb2112 commits,
- version 7ec4d05de11 commits,
- version 67e63cb4810 commits,
- version 526633d1d4 commits,
- version 40fc3d48d3 commits,
- version 3fbd7ddf52 commits,
- version 286b12cb11 commit,
- version 154b851a48 commits,
Compare changes
- Side-by-side
- Inline
Files
2Loading