By: Eric Gamess (*, %), David Musser(+), and Arturo J. Sanchez-Ruiz (*) (*)Automatic Tools Construction Lab (AuTooLab) Software Engineering and Systems Center (ISYS) Faculty of Science -- Central University of Venezuela (UCV) http://anubis.ciens.ucv.ve/~asanchez/autoolab.html (%)Computer Science Department Universidad del Valle Cali, Colombia (+)Computer Science Department Rensselaer Polytechnic Institute http://www.cs.rpi.edu/~musser (May, 1999) The files accompanying this README are the full source code and some sample data for the "Manager's invitation list" example that appears in Sections 1 and 3.4 of E. Gamess, D. R. Musser, A. J. Sanchez-Ruiz. "Complete Traversals and their Implementation Using the Standard Template Library," CLEI Electronic Journal (http://www.dcc.uchile.cl~rbaeza/clei/), Vol.~1, Number 2, December 1998 (Special Issue of Best Papers presented at CLEI'97, Valparamso, Chile). Also available from http://www.cs.rpi.edu/research/gpg. The files are: makelist1.cpp Source code for "Manager's invitation list" solution using complete_unique_traversal generic algorithm. makelist2.cpp Source code for "Manager's invitation list" solution using complete_container class. complete_traversal.h Source code for complete_unique_traversal generic algorithm. Also contains source for complete_multiple_traversal generic algorithm, which is not used in this example. complete_container.h Source code for complete_container class. bosses.txt In general this file should be a list of persons and their "bosses." The supplied sample file is actually the SIGACT Theoretical Computer Science Genealogy database file, which lists information on earned doctoral degrees (adviser, university, and year) of theoretical computer scientists worldwide. (See http://hercule.csci.unt.edu:80/genealogy/.) The input functions in the makelist*.cpp programs are designed to extract from each line of this file the name of a computer scientist and his or her dissertation advisor; they may need to be modified for a bosses file in a different format. initial.txt In general this file should be an initial list of invitees. The supplied sample file is actually a a list of Turing Award winners. makelist1.out Output from makelist1.cpp when run with supplied bosses.txt and initial.txt files. makelist2.out Output from makelist2.cpp when run with supplied bosses.txt and initial.txt files. test_cc.cpp Small test case for complete container adaptor. test_cc.out Output produced by execution of previous file. level_order.cpp Small test case for complete traversal generic functions. level_order.out Output produced by execution of previous file. These files have been successfully compiled and tested with the following C++ compilers: GNU C++ Version 2.8.1 Microsoft Visual C++ version 6.0 With the GNU compiler there is a bug that shows up as an error message from the assembler. The workaround is to compile with the -g (debugging ) option. Any questions? Please send them to: arturo@acm.org or musser@cs.rpi.edu Txau!