Frost allows you to use multi methods and virtual function arguments (*) in your C++ programs as if they were a native C++ feature. It is a compiler wrapper which modifies compiler input and output files and collects information about defined classes and functions which is stored in a separate 'frost-object' file for each assembler or object file that is generated by the compiler. When linking is done this information is used to generate the dispatching code.
(*)
I will use the abbreviation FWVA
(Function with
virtual argument) to refer to all kinds of functions and
methods with virtual arguments.
Frost offers the following advantages:
Please note that currently only the GNU C++ compiler (version 3.0 or higher) on a i386 architecture is supported. If you want to help porting Frost to other platforms / compilers, have a look at the Contributing section below and mail me.
It has been about one and a half years since the last release of frost (which has not been usable for quite some time). Most parts have been rewritten and the C++ parser was removed. This makes the whole program much less complex. Furthermore, you can now use functions with virtual arguments really as if they were a native C++ feature: you don't have to define functions with a special prefix anymore. Other limitations with regards to inline functions have also been removed.
Please read the Getting Started section even if you have used an older version of frost.
This documentation is divided into the following sections:
Please note that Frost is still beta software.
For bug reports, improvements, and questions mail to
frost at wongr dot net.
Copyright © 1999 - 2002 by Julian v. Bock.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.