User Tools

Site Tools


2013:sfinae_functionality_is_not_arcane_esoterica

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

2013/sfinae_functionality_is_not_arcane_esoterica.txt · Last modified: 2016/06/11 14:05 by 127.0.0.1