Loading…
This event has ended. Visit the official site or create your own event on Sched.
Monday, September 25 • 11:00am - 12:00pm
Modern C++ Interfaces: Complexity, Emergent Simplicity, SFINAE, and Second Order Properties of Types

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
We examine how the increasing complexity of language features related to interfaces in modern C++ has somewhat surprisingly produced increasing simplicity in the interfaces themselves.

One of the major reasons for this emergent simplicity is common use of “substitution failure is not an error” or SFINAE in interface design. Appropriate use of SFINAE allows the production of “do what I mean” or DWIM interfaces that allow experienced designers to embed their judgement in interfaces.

Most of the presentation will consist in examination of practical examples of SFINAE in interface design and development of a simple toolkit that automates construction of compile time template predicates. Abstract syntax trees are evaluated at compile time to enforce complex constraints on types in the SFINAE context.

Speakers
avatar for Stephen Dewhurst

Stephen Dewhurst

President, Semantics Consulting, Inc.
Steve Dewhurst is the co-founder and president of Semantics Consulting, Inc. Steve is the author of numerous technical articles on C++ programming techniques and compiler design, is the author of the critically acclaimed books C++ Common Knowledge and C++ Gotchas, and is the co-author... Read More →


Monday September 25, 2017 11:00am - 12:00pm PDT
Colossus Theater Meydenbauer Center