Topic outline

    • Compute Ontario Colloquium (1 May 2024)

      This week's colloquium: "C++20 Modules" by Ramses van Zon from SciNet. 

      The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers.  The colloquia are one hour long and include time for questions. No enrollment or registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.


      Date: Wed., 1 May 2024 - 12:00 pm
    • Abstract

      Modules are source code components with a well-defined interface such that they can be reused in other code without requiring knowledge of the implementation or exposing its internals. In this talk, we will discuss how modules can be supported in C++. We will see that for most of its existence, C++ has had to use the 'header file plus object files' paradigm inherited from C to support modules, until proper modules were introduced in the C++20 standard. Unfortunately, few compilers fully support these, and their implementations and usage varies a lot. We will give an overview not only of the issues but also of what is possible with some current compilers.