• Modules Series: Episode 6: Including a header file in the primary module interface unit

    Modules Series: Episode 6: Including a header file in the primary module interface unit

    Introduction In the 6th episode, we will include a header for types we will use in our exported interface. For that purpose we will extend our interface with 2 methods: 2 plain stupid functions, in order to make a point. Main will use it as follows: The c_str() and puts() will become clear later on,…

  • Modules Series: Episode 5: Including a header file in a module implementation unit

    Modules Series: Episode 5: Including a header file in a module implementation unit

    Introduction In the implementation of our module, we want to use a library, which provides its interface via a header file. Consequently we need to include that header file. We will learn in this episode: We will adjust our “MyMax” by calling the STL max algorithm, there is no need to re-invent the wheel. And…

  • Modules Series: Episode 4: Using “multiple” module implementation units

    Modules Series: Episode 4: Using “multiple” module implementation units

    Introduction In the 4th episode, we will do a small increment compared to our previous episode. We arrived at: Typically a library has one or more exported headers (in the current example this resembles our module interface unit), and multiple private source files (cpp files/ headers) implementing that public interface. To approach such a more…

  • Modules Series: Episode 3: Using a “module implementation unit”

    Modules Series: Episode 3: Using a “module implementation unit”

    Introduction In the 3rd episode, we will transform our example from episode 2 (Modules Series: Episode 2) (an application with an embedded module). This time, the module implementation will be in its own cpp file, and we keep the “primary module interface” as clean as possible. Basically for the example this means: We will learn…

  • Modules Series: Episode 2: Our first little module

    Modules Series: Episode 2: Our first little module

    Introduction Ok, in this second episode it is time to create a first module. What we will learn in this episode: Our starting example, old style In our first example, we will keep things very trivial: We have the following structure in the traditional header way: The source files look like: When we migrate that…

  • Modules Series: Episode 1: Preparation

    Modules Series: Episode 1: Preparation

    Introduction In order to experiment with modules, we need to have the correct tools available. Several distributions are not up to date, sometimes extra repositories can be added to fetch a more up to date version of a tool, and sometimes that one is also still not that up to date. In order to avoid…