Information and project structure

- C++Attributes
    - C++17_without_attributes
    - C++20_with_attributes

- C++Consteval
    - C++17 (run-time algorithms)
    - C++20 (consteval algorithms)

- C++Modules_Headerfiles
    - g++_Clang (Programs compatible with g++ and Clang compilers)
        - Header_files
            - Header1
            - Header2
            - Header3
            - Header4
            - Header5
        - Modules
            - Module1
            - Module2
            - Module3
            - Module4
            - Module5

    - MSVC (Programs compatible with MSVC compilers)
        - Header_files
            - Header1
            - Header2
            - Header3
            - Header4
            - Header5
        - Modules
            - Module1
            - Module2
            - Module3
            - Module4
            - Module5

- C++VirtualConstexpr
    - C++17 (run-time algorithms)
    - C++20 (virtual constexpr algorithms)

Notes:
- Translation of algorithms and their parameters need to be set according to the information in the thesis.

- In C++Modules_Headerfiles/g++_Clang modules and header files are compatibile with g++ and Clang compiler,
  but in some parts of the code it is necessary to comment the appropriate line. These few lines are
  clearly and distinctly visible by my comment. 

- For the modules for the MSVC version, the resulting size of all files in the IDE was enormous. 
  However, all the necessary source codes are included here. They can therefore be added to any project created in the IDE 
  and the whole build will be automatically executed (/standard C++20).

Example of module parameters for Clang in CLI
clang++ -Wall -std=c++2a -fimplicit-modules -fimplicit-module-maps -c <Module_name1>.cpp -Xclang -emit-module-interface -o <Module_name1>.pcm
clang++ -Wall -std=c++2a -fimplicit-modules -fimplicit-module-maps -c <Module_name2>.cpp -Xclang -emit-module-interface -fmodule-file=<Module_name_if_imported_here>.pcm -o <Module_name2>.pcm
clang++ -Wall -std=c++2a -fimplicit-modules -fimplicit-module-maps -c <Module_name3>.cpp -Xclang -emit-module-interface -fmodule-file=<Module_name_if_imported_here>.pcm -o <Module_name3>.pcm
clang++ -Wall -std=c++2a -fimplicit-modules -fimplicit-module-maps -fprebuilt-module-path=. main.cpp <Module_name1>.cpp <Module_name2>.cpp <Module_name3>.cpp

Example of module parameters for g++ in CLI
g++-11 -std=c++20 -fmodules-ts -xc++-system-header iostream
g++-11 -std=c++20 -fmodules-ts -xc++-system-header <Other_necessary_lib>
g++-11 -fmodules-ts -std=c++20 <Module1>.cpp <Module2>.cpp <Module3>.cpp main.cpp