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.
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 TheaterMeydenbauer Center