1 `preprocess' -- A C++ preprocessor.
2 -----------------------------------
4 This program is a preprocessor for C++ modules. With this tool, you
5 write unit-style single-source-file modules in C++ (e.g., foo.cpp),
6 from which the tool extracts three C++ source files that can then be
7 processed using the standard C++ compiler toolchain:
9 - A public header file (foo.h)
11 - A private header file containing all non-public type definitions
12 (foo_i.h). This facilitates debugging modules that need access to
13 implementation-specific data structures.
15 - An implementation file (foo.cc)
19 - Modules contain two sections. The "INTERFACE:" section contains
20 the public interface to the module; the "IMPLEMENTATION:" section
21 contains everything else. The preprocessor puts "INTERFACE:"
22 declarations into the public header file and tries to hide
25 - The preprocessor automatically expands class declarations using
26 member-function definitions found in the file. Function labelled
27 PUBLIC, PROTECTED and PRIVATE are put into the corresponding section
28 of the class. This feature saves typing effort and reduces
31 - Functions declared "inline" are exported automatically, along with
32 all the functions and types they need (these dependencies must be
33 declared in the module file). This feature can be turned off so that
34 all functions labeled "inline" are hidded and generated out-of-line.
36 For more documentation, please refer to the documentation (manpage,
37 webpage) in directory "doc" (requires Doxygen), or go to the online
38 documentation at <http://os.inf.tu-dresden.de/~hohmuth/prj/preprocess/>.