	. Separating the interface from the implementation while keeping things in the same file
	
	. Project files
		. math.ixx
		. main.cpp

	. Notes: 
		. One has to do the research to get the exact steps to follow to build with a specific IDE or compiler.
		. The steps and commands below are a result of my research and testing.
		. The information for Visual C++ is from Microsoft's documentation. It was relatively easy to find.
		. The information for the GCC compiler is scattered across the internet. I had to do a lot of digging to find it.
		. For Clang. I digested the information shared in their Standard C++ Modules documenation (https://clang.llvm.org/docs/StandardCPlusPlusModules.html) and repurposed it to compile the projects in this chapter.
		. The instructions for each compiler are shared below.
		
	. Compilation of this project on 3 major compilers:
	
		. Visual C++ (Windows)
			. Create a console project
			. Set the standard to C++20
			. Right click on the solution name in Project Explorer and select add> Module
			. Add a module file named math.ixx and put in the code
			. Put the code in the main.cpp file
			. Build and run the project.
			. If <iostream> can't be processed go to properties> C/C++> General and toggle `Scan Sources for Module Dependencies` to true.

			
		. GCC(13.2.0)
			. g++ -fmodules-ts -x c++-system-header iostream
			. g++ -fmodules-ts -c -x c++ math.ixx
			. g++ -fmodules-ts main.cpp math.o -o rooster.exe
			
		. Clang(16) - Windows - Use command prompt
			. clang++ -std=c++20 -x c++-system-header iostream --precompile -o iostream.pcm
			. clang++ -std=c++20 -fmodule-file=iostream.pcm -x c++-module math.ixx --precompile -o math_stuff.pcm
			. clang++ -std=c++20 -fmodule-file=iostream.pcm main.cpp -fprebuilt-module-path=. -c -o main.o
			. clang++ -std=c++20 math_stuff.pcm -c -o math_stuff.o
			. clang++ -std=c++20 main.o math_stuff.o -o rooster
			
		. Clang(18)
			. clang++ -std=c++20 -stdlib=libc++ -x c++-system-header iostream --precompile -o iostream.pcm
			. clang++ -std=c++20 -stdlib=libc++ -fmodule-file=iostream.pcm -x c++-module math.ixx --precompile -o math_stuff.pcm
			. clang++ -std=c++20 -stdlib=libc++ -fmodule-file=iostream.pcm main.cpp -fprebuilt-module-path=. -c -o main.o
			. clang++ -std=c++20 -stdlib=libc++ math_stuff.pcm -c -o math_stuff.o
			. clang++ -std=c++20 -stdlib=libc++ main.o math_stuff.o -o rooster