Reviewed by: Japanese Manual Project <man-jp@jp.FreeBSD.ORG> Submitted by: Kazuo Horikawa <horikawa@jp.freebsd.org>
64 lines
2.7 KiB
Groff
64 lines
2.7 KiB
Groff
.\" %Id: genclass.1,v 1.1 1997/09/15 19:18:59 wosch Exp %
|
|
.TH GENCLASS 1 "\*(Dt" "GNU Tools" "GNU Tools"
|
|
.SH 名称
|
|
genclass \- プロトタイプから c++ クラスを生成する
|
|
.SH 書式
|
|
.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 解説
|
|
.B genclass
|
|
シェルスクリプトプログラムを使うことで、特定のクラスを生成することが
|
|
できます。
|
|
このプログラムは、使用する基底型の種類を指定する引数をとります。
|
|
基底型を指定するには二つの引数が必要です。一つ目は基底型の名前で、`int'
|
|
や `String' のように名前付きの型ならどんなものでもかまいません。
|
|
サポートされているのは名前付きの型
|
|
だけです。 `int*' のようなものは許されません。
|
|
しかし、このようなポインタは適当な typedef を与えること
|
|
(例えば、出力ファイルを編集して `typedef int* intp;' を含むようにすること)
|
|
によって
|
|
使うことができます。型の名前の後には、基底型の要素を関数に値渡しで渡す
|
|
か、それとも参照渡しで渡すかを指示する単語 `val' か `ref' のいずれ
|
|
かを続けねばなりません。
|
|
.PP
|
|
形式 `genclass base [val,ref] proto' を使って基本コンテナクラスを
|
|
指定できます。`proto' は、生成されるクラス名です。
|
|
辞書(dictionary)や写像(map)のような二つの型を必要とするコンテナクラス
|
|
は、`genclass -2 keytype [val, ref], basetype [val, ref] proto'
|
|
として指定され、キーの型を先に、中身の型を二番目に指定します。
|
|
出力されるクラス名とファイル名は、プロトタイプ名の前に指定した型の名前を
|
|
付けて生成されます。ただしファイル名部分はドット(.)で分離されます。
|
|
例えば `genclass int val List' は、ファイル `int.List.h' と
|
|
`int.List.cc' の中にクラス `intList' を生成します。
|
|
`genclass -2 String ref int val VHMap' は、(ぶざまだがやむを得ない)
|
|
クラス名 `StringintVHMap' を生成します。もちろん、
|
|
プログラマは `typedef' を使っても良いし、単に編集してもっと適当な名前を
|
|
作ってもかまいません。ファイル名の中をドットで分けておくことで、GNU make
|
|
の自動コンフィグレーションと再コンパイル機能を利用することができます。
|
|
このような特性を有効に活用している Makefile の例は `libg++/proto-kit'
|
|
ディレクトリにあります。
|
|
.PP
|
|
.B genclass
|
|
ユーティリティは `sed' を使った単純なテキスト置換により実現されていま
|
|
す。疑似型 `<T>' と `<C>' (型が二つの場合) が現れるすべての場所で、指
|
|
定された型に置換されます。また、`<T&>' と `<C&>' が現れるすべての場所
|
|
で、`val' が指定された場合は単に型そのものに置換され、`ref' が指定され
|
|
た場合は型の後ろに "&" がついたものに置換されます。
|
|
.SH 関連ファイル
|
|
/usr/share/libg++/ 標準 g++ プロトタイプディレクトリ
|
|
.SH 環境変数
|
|
PROTODIR 標準 g++ プロトタイプディレクトリ
|
|
.SH 関連項目
|
|
.BR g++(1)
|
|
.br
|
|
The GNU C++ ライブラリ Texinfo ドキュメント file:/usr/share/info/libg++
|
|
.SH 作者
|
|
Doug Lea (dl@rocky.oswego.edu), Wendell C. Baker.
|
|
このマニュアルは GNU C++ ライブラリの Texinfo ドキュメントに基づいています。
|