next up previous contents index
Next: Include File Path Up: New Features Previous: LP-Solver SoPlex

Naming Conventions

 

The previous version did not use any prefix for all globally visible names in order to avoid name collisions with other libraries since the C++ concept of namespaces should make this technique redundant. Unfortunately, it turned out that the GNU C++\ compiler does still not support namespaces. The G++-FAQ mentions that even in the next release 2.8 this concept might not be supported.

In order to provide the possibility of avoiding name collisions without namespaces, we added to all globally visible names the prefix ABA_. There are two possibilities for reusing your old codes together with the new name concept.

The first method is to include the file oldnames.h into every file using ABACUS names without the prefix ABA_. In the compilation the preprocessor flag ABACUS_OLD_NAMES  must be set. With preprocessor definitions the old names are converted to new names. You should be aware that this technique can have dangerous side effects. Therefore, this procedure should not be applied if you combine ABACUS with any other library in your application.

The second method is the better method and is not much more work than the first one. In the tools subdirectory of the ABACUS\ distribution you can find the Perl script old2newnames.pl . If you apply this script to all source files of your ABACUS\ application by calling

  old2newnames.pl <files>
a copy of each file given in <files> is made in the subdirectory new-files and the old names are replaced by the new names.



Stefan Thienel
Fri Sep 19 11:32:54 MET DST 1997