Skip to content

Cleanup/deprecate Dune::Std::is_callable is_invocable

Timo Koch requested to merge cleanup/deprecate-is-callable-invokable into master

see #251 (closed)

  • Deprecate Dune::Std::is_callable and Dune::Std::is_invocable
  • Add Dune::IsCallable checking if f(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.

Edited by Timo Koch

Merge request reports