.I files?

What are the .I files? How does one go about generating and testing one for a class? I’m assuming its something to do with interrogate?


No, the .I files are just the same as the .cxx files, except they hold the inline method bodies.

We are observing the convention that the .h file should contain the interface for a class, and the implementation should be in a different file. Ideally, they should all be in the same file (e.g. the .cxx file), but C++ requires that the compiler have access to the inline method bodies even from another module. Thus, we have the .I files, which are included from the .h files.

We get different reactions from people when they learn this. Some, particularly hardcore C++ programmers, are shocked that we go through this trouble and think it’s a big confusing mess. Others, especially programmers used to languages like Ada, or who come from a more academic background, are pleased at the division between interface and implementation.


Oh well that explains a lot!

How many hours I sat there wondering how come an INLINE macro that apparently just adds the __inline was miraculously auto-generating the set/get accessor functions :laughing: