Back to proposals-2013
Title: SFINAE Functionality Is Not Arcane Esoterica
Proposer: jonathan_wakely
Type: Tutorial
Duration: 90 minutes
Description:
The phrase “Substitution Failure Is Not An Error”, commonly known as
SFINAE, refers to part of the template argument deduction rules in
C++, but what does it mean and why is it important?
This session will explain the rule and why it's needed to make
function templates usable. We'll also see how C++11 extended and
changed the rule into the more powerful “Expression SFINAE”. We'll
see how std::enable_if and similar utilities can be used create
template libraries and APIs that are easier to use and harder to
misuse, with clearer error messages than one usually expects from
template problems. We'll also cover common misunderstandings and
pitfalls people encounter when using SFINAE.
The session should be suitable for anyone with a working knowledge of
C++ templates, especially library and API designers who are prepared
to trade off some implementation complexity to provide better
interfaces.
Roger: Yes