This talk will focus on C++ function templates and such allied topics as instantiation of function template declarations, overload resolution and partial ordering of these instantiated declarations, and instantiation of function template definitions.
We'll also look at function template specialization, explaining why to avoid explicit ones, and recommending what to do instead.
Finally, time permitting, we'll offer advice for customizing function templates in the standard library, especially in light of recent WG21 developments re customization points.
With broad experience in industry, academia, consulting and research, our speaker, Dr. Walter E. Brown, has been a C++ programmer for over thirty-five years. He joined the C++ standards effort in 2000, and has since written over 140 proposal papers. Among numerous other contributions, he is responsible for introducing such now-standard C++ library features as cbegin/cend, common_type, gcd/lcm, and void_t, as well the entirety of the random and ratio headers. He has also significantly impacted such core language features as alias templates, contextual conversions, variable templates, and static_assert. He conceived and served as project editor for the International Standard on Special Mathematical Functions in C++, now part of the cmath header in C++17.
When not playing with his grandchildren, Dr. Brown continues as an Emeritus participant in the C++ standards process, with several more proposals under consideration.