Information about the .inl (inl) file type

Below is all the information we have available on file about the .inl (inl) file type.

.inl
Inline File. A combined C++ header and source file, that can be split into separate .h and .cc files using inlsplit.

inlsplit (and .inl files in general) belong to an abandoned project. The following information about .inl files was archived from http://somewhere.fscked.org/inlsplit, which is no longer available:

The INL file (or Inline file, if you will) is basically a C++ source file (.cc, .cpp, etc) and C++ header file (.h, .hpp, etc) joined into a single file. All functions are inlined, so it's easy to add new functions to a class. You can mark a member function that you would normally put in a .cc file with an "@" at the end of the function prototype line. When you run inlsplit on the INL file, it puts the bodies of all the @'ed functions into the .cc file, and keeps only the prototypes in the .h file. The INL file optionally has a "@source" directive, indicating that everything following will be placed at the top of the .cc file. Here is an example INL file:

class Class {
    int func1(char c)@
    { return c; }
    int func2stayinline(int b)
    { return b; }
};
@source
#include "class.h"

When processed with the inlsplit script, a .cc and .h file are produced, like so:

class.h class.cc
class Class {
    int func1(char c);
    int func2stayinline(int b)
    { return b; }
};
#include "class.h"
int Class::func1(char c)
    { return c; }  

Where this is available we would like to include file format information on .inl files, as well as information on how to view or open files of type .inl. If you know of any information which we have missed then please let us know.