Workshop «Metaprogramming Making a Convenient API»
Have you ever thought about user interface problems? Have you faced an API that you would have designed differently? Have you analyzed why one API is better than another? That’s exactly what library developers do every day. For the products we develop (oneTBB, oneDPL), API usability is our top priority. As we say within the team, never stop at a complex implementation if you see value for the user.I’m going to tell you about one long brainstorming session we had in the past when trying to build a good API for oneTBB: we talked about templates, parameter sets, type deduction, type traits, metaprogramming, deduction guides, and more. Then, I will lead you from our initial prototype to what is currently shipped with our product (and a bit beyond). If you are not very familiar with the features I’ve listed above, don’t worry. All you need is a basic understanding of templates and I will do my best to explain the rest.