Portability fixes to compile with XCode / libc++
- Add
Dune::PDELab::Execution
execution policies- Internally use PSTL if available or
oneapi::dpl
as fallback
- Internally use PSTL if available or
- Ensure
std::format
is available before use (empty header exists in some libc++ versions) - If
std::atomic_ref
is not available fall back toboost::atomic_ref
if available, otherwise throw at runtime - Add typename where needed
- Add
&
to fix "cannot overload a member function without a ref-qualifier with a member function with ref-qualifier" -
consteval
->constexpr
("call to consteval function is not a constant expression" error: probably a compiler bug in appleclang) - Ensure moved-from
std::function
is empty- after being moved from it is only guaranteed to be in a valid but unspecified state, not necessarily empty
- for gcc/clang implementations it is empty, but apparently not for appleclang
- Always use
forward_range
forSparseDynamicRange
/DenseDynamicRange
- they don't fulfill the requirements for
tbb::blocked_range
- (a requires expression that constructs a
tbb::blocked_range
nonethless returnsTrue
on appleclang, only for compilation to fail later)
- they don't fulfill the requirements for
- Avoid calling constructors without all arguments (c++20 feature not yet supported by appleclang)