From b599049058445d77a472461c2c80eb1b333aebcf Mon Sep 17 00:00:00 2001 From: wosch Date: Mon, 15 Sep 1997 19:18:59 +0000 Subject: Add a genclass.1 manpage. --- contrib/libg++/libg++/genclass/genclass.1 | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 contrib/libg++/libg++/genclass/genclass.1 (limited to 'contrib') diff --git a/contrib/libg++/libg++/genclass/genclass.1 b/contrib/libg++/libg++/genclass/genclass.1 new file mode 100644 index 0000000..4988cd6 --- /dev/null +++ b/contrib/libg++/libg++/genclass/genclass.1 @@ -0,0 +1,63 @@ +.\" $Id$ +.TH GENCLASS 1 "\*(Dt" "GNU Tools" "GNU Tools" +.SH NAME +genclass \- generate c++ classes from prototypes +.SH SYNOPSIS +.B genclass -list [proto ...] +.br +.B genclass -catalog [proto ...] +.br +.B genclass type1 {ref|val} proto [out_prefix] +.br +.B genclass -2 type1 {ref|val} type2 {ref, val} proto [out_prefix] +.br +.B genclass [-usage] [-version] +.SH DESCRIPTION +Specific classes may be generated via the +.B genclass +shell script +program. This program has arguments specifying the kinds of base +types(s) to be used. Specifying base types requires two arguments. The +first is the name of the base type, which may be any named type, like +`int' or `String'. Only named types are supported; things like `int*' +are not accepted. However, pointers like this may be used by supplying +the appropriate typedefs (e.g., editing the resulting files to include +`typedef int* intp;'). The type name must be followed by one of the +words `val' or `ref', to indicate whether the base elements should be +passed to functions by-value or by-reference. +.PP +You can specify basic container classes using `genclass base +[val,ref] proto', where `proto' is the name of the class being +generated. Container classes like dictionaries and maps that require +two types may be specified via `genclass -2 keytype [val, ref], +basetype [val, ref] proto', where the key type is specified first and +the contents type second. The resulting classnames and filenames are +generated by prepending the specified type names to the prototype names, +and separating the filename parts with dots. For example, `genclass +int val List' generates class `intList' residing in files `int.List.h' +and `int.List.cc'. `genclass -2 String ref int val VHMap' generates +(the awkward, but unavoidable) class name `StringintVHMap'. Of course, +programmers may use `typedef' or simple editing to create more +appropriate names. The existence of dot seperators in file names +allows the use of GNU make to help automate configuration and +recompilation. An example Makefile exploiting such capabilities may be +found in the `libg++/proto-kit' directory. +.PP +The +.B genclass +utility operates via simple text substitution using +`sed'. All occurrences of the pseudo-types `' and `' (if there +are two types) are replaced with the indicated type, and occurrences of +`' and `' are replaced by just the types, if `val' is +specified, or types followed by "&" if `ref' is specified. +.SH FILES +/usr/share/libg++/ standard g++ prototype directory +.SH ENVIRONMENT +PROTODIR standard g++ prototype directory if defined +.SH "SEE ALSO" +.BR g++(1) +.br +The GNU C++ library Texinfo documentation, file:/usr/share/info/libg++ +.SH AUTHORS +Doug Lea (dl@rocky.oswego.edu), Wendell C. Baker. +This Manpage based on the GNU C++ library Texinfo documentation. -- cgit v1.1