Bartlomiej explains in his recent blog post in nice details the SFINAE construct.
by Bartlomiej Filipek
From the article:
This time I’d like to tackle a bit more complex problem: SFINAE. I’m not using this paradigm on a daily basis, but I’ve stumbled across it several times and I thought it might be worth trying to understand this topic.
What is SFINAE? Where can you use it? Do you need this on a daily basis? Let’s try to answer those questions.
In the article he goes into details of Overload Resolution, Where can I use it?, enable_if, Expression SFINAE, Any disadvantages?, and Alternatives to SFINAE.