Add a genclass.1 manpage.
This commit is contained in:
parent
869c60f487
commit
b599049058
63
contrib/libg++/libg++/genclass/genclass.1
Normal file
63
contrib/libg++/libg++/genclass/genclass.1
Normal file
@ -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 `<T>' and `<C>' (if there
|
||||
are two types) are replaced with the indicated type, and occurrences of
|
||||
`<T&>' and `<C&>' 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.
|
@ -1,8 +1,9 @@
|
||||
#
|
||||
# $Id$
|
||||
# $Id: Makefile,v 1.4 1997/02/22 15:45:31 peter Exp $
|
||||
#
|
||||
|
||||
GPPDIR= ${.CURDIR}/../../../contrib/libg++
|
||||
MAN1= genclass.1
|
||||
|
||||
.PATH: ${GPPDIR}/libg++/src ${GPPDIR}/libg++/genclass
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user