summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorwosch <wosch@FreeBSD.org>1997-09-15 19:18:59 +0000
committerwosch <wosch@FreeBSD.org>1997-09-15 19:18:59 +0000
commitb599049058445d77a472461c2c80eb1b333aebcf (patch)
tree97ae390d3a6fa8fd39bce66a3e96d0d1dd7e10f1 /contrib
parent869c60f487eb0d9eb86e84eac1870b40462f99e3 (diff)
downloadFreeBSD-src-b599049058445d77a472461c2c80eb1b333aebcf.zip
FreeBSD-src-b599049058445d77a472461c2c80eb1b333aebcf.tar.gz
Add a genclass.1 manpage.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libg++/libg++/genclass/genclass.163
1 files changed, 63 insertions, 0 deletions
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 `<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.
OpenPOWER on IntegriCloud