Sep 15 – 18, 2015
Hotel Schweizerhof, Saas-Fee
Europe/Zurich timezone

Modern C++ Interfaces for ROOT

Sep 15, 2015, 11:50 AM
Hotel Schweizerhof, Saas-Fee

Hotel Schweizerhof, Saas-Fee

Haltenstrasse 10 Saas-Fee
Presentation Presentations Presentations


Axel Naumann (CERN)


ROOT's interfaces are mature - they have served us well for decades! But current C++ is different, and has properties that we need: * ownership becomes type-safety * concerns are decomposed, reducing interface clutter * C++'s standard collections are ubiquitous and performant * optimizers are at a different level than even 5 years ago (let alone 20) * current students learn different syntax than students of 10 years ago While we see the need to react, we do not see a backward compatible path into this future. This presentation will show what ROOT's future interfaces might look like, as the basis for a discussion. It will also present how we plan the migration to these new interfaces. Interfaces that will be covered or at least sketched are * histograms, showing the benefits of an interface with current C++ * smart pointers resembling ROOT's ownership behavior * TCanvas interplay as an example for ownership management The goals are an increase in clarity and simplicity, a reduction of memory issues, and an increase in speed. Come judge!

Primary author

Presentation materials