C++Now 2017 has ended
Thursday, May 18 • 9:00am - 10:30am
Call: A Library that Will Change the Way You Think about Function Invocations (part 1 of 2)

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

Feedback form is now closed.
Slides: https://github.com/boostcon/cppnow_presentations_2017/blob/master/05-18-2017_thursday/call_a_library_that_will_change_the_way_you_think_about_function_invocations__matt_calabrese__cppnow_05-18-2017.pdf
Video: https://www.youtube.com/watch?v=Fjw7NjndQ50

Do you use tuples and variants? Do you practice the generic programming paradigm? Do you wish it were easier to deal with multimethods over a closed set of types? Are you interested in or involved with the C++ standard? Do you simply like having your mind blown? If you answered "yes" to any of these questions, then you should attend this presentation!

In this session, I introduce a library that allows users to invoke existing functions and function objects using an argument list whose types and arity may be dynamic both at compile-time and at run-time. Through a single algorithm and a couple of very simple concepts, this library offers a clean and unified generalization of C++17 facilities such as std::invoke, std::apply, std::visit, and more, and does so with an easy-to-write and easy-to-read syntax that the average C++ developer can understand. As with any generic library, the concepts that are presented may be modeled by users, leaving the door open for even more facilities than what is directly offered. Usefulness extends into the realm of higher-level libraries built off of the concepts that are described, and an example of such a library will be explored.

Though the title may be bold, I guarantee that many of you will have a different view of function calls after attending this talk. Consider it a challenge.

avatar for Matt Calabrese

Matt Calabrese

Software Engineer, Google
Matt Calabrese is a software engineer working primarily in C++. He started his programming career in the game industry and is now working on libraries at Google. Matt has been involved with the Boost community for over a decade and is currently a member of the Boost Steering Committee... Read More →

Thursday May 18, 2017 9:00am - 10:30am MDT
Flug Auditorium