Cleanup/deprecate Dune::Std::is_callable is_invocable
see #251 (closed)
- Deprecate
Dune::Std::is_callable
andDune::Std::is_invocable
- Add
Dune::IsCallable
checking iff(args...)
works - Replace occurrences of the traits in
OverloadSet
- Added changelog entry
Dune::Std::is_callable
didn't get standardized and Dune::Std::is_invocable
is available in C++17 as std::is_invocable
(but is more general than the Dune implementation also allowing to invoke member functions/data members). Since these two traits described slightly different concepts this also provides and new and improved implementation Dune::IsCallable
which is defined compactly in terms of two C++17 traits.
The traits aren't currently used in any of the other core modules.
Merge request reports
Activity
- Resolved by Timo Koch
I guess this is supposed to go to 2.8.0 as well?
mentioned in issue #251 (closed)
changed milestone to %DUNE 2.8.0
added cleanup label
mentioned in merge request !972 (merged)
added 7 commits
-
3b46158f...c677329f - 4 commits from branch
master
- 0c4f836e - [typetraits] Depcrecate Std::is_invocable/is_callable. Use C++17 std::is_invocable instead
- 20d76914 - [test][cleanup] Remove tests for Std::is_callable
- 1294195e - [cleanup] Use std::invocable to replace Dune::Std::is_callable
Toggle commit list-
3b46158f...c677329f - 4 commits from branch
added changelog entry
Edited by Timo Koch- Resolved by Timo Koch
This does not convince me. Our
is_callable
is different fromstd::is_invocable
. The former checks if a plain call-operationf(args...)
works, whereas the latter uses the more generalinvoke(f, args...)
. Thus is is probably an incompatible change toOrderedOverloadSet
and it should be possible to create a set of functions where this changes the behavior.Edited by Carsten Gräser
added 4 commits
- ae54f6fa - [typetraits] Depcrecate Std::is_invocable/is_callable. Use C++17 std::is_invocable instead
- 04864ae5 - [test][cleanup] Remove tests for Std::is_callable
- de8ad3d8 - [cleanup][overloadset] Remove outdated version check and comments on compilers...
- 65790661 - [cleanup] Use std::invocable to replace Dune::Std::is_callable
Toggle commit listadded 1 commit
- afc25123 - [cleanup][overloadset] Use Dune::IsCallable to replace Dune::Std::is_callable
- Resolved by Timo Koch
requested review from @carsten.graeser
mentioned in merge request dune-localfunctions!197 (merged)
added 15 commits
-
a3005fc3...cd213143 - 10 commits from branch
master
- ddbe19c3 - [typetraits] Depcrecate Std::is_invocable/is_callable. Use C++17 std::is_invocable instead
- 7666b559 - [typetraits] Implement Dune::IsCallable
- d1568594 - [cleanup][overloadset] Remove outdated version check and comments on compilers...
- 73cdb120 - [cleanup][overloadset] Use Dune::IsCallable to replace Dune::Std::is_callable
- 4cb8bb37 - Add doxygen deprecation comment
Toggle commit list-
a3005fc3...cd213143 - 10 commits from branch
enabled an automatic merge when the pipeline for 4cb8bb37 succeeds
mentioned in commit 57b1eb2e
picked the changes into the branch
cherry-pick-57b1eb2e
with commit 89374ca4mentioned in commit 89374ca4
mentioned in merge request !979 (merged)
mentioned in merge request !774 (closed)
mentioned in merge request !1139 (merged)