This is the mail archive of the
docbook@lists.oasis-open.org
mailing list for the DocBook project.
Re: DocBook 4.0: ClassSynopsis
/ Dmitry Tsitelov <cit@comcon.spb.ru> was heard to say:
| Excuse me again, but how must be documented C++ classes like this one:
|
| class Rectangle_with_data: virtual Shape, virtual Data_container
| {
| ...
| };
|
| "virtual" keywords are very important in this situation for class behavior
| understanding.
|
| May be, such modification of ClassSynopsis will be more acceptable:
|
| <!ELEMENT ClassSynopsis - - ( ( Modifier*,
| (ClassName|InterfaceName|ExceptionName) )+,
| (ClassSynopsisInfo
| |FieldSynopsis|%method.synop.class;)*)>
That seems to work:
<classsynopsis language="cpp">
<classname>Rectangle_with_data</classname>
<modifier>virtual</modifier><classname>Shape</classname>
<modifier>virtual</modifier><classname>Data_container</classname>
</classsynopsis>
Imagining the fully general case, I start to wish that I had
wrappers around these things:
<!ELEMENT classref (modifier*, classname)>
But I'm not sure it's worth it. And classref isn't a good name :-(
And then I'll really have no excuse not to put wrappers around the
set of superclasses, exceptions, and interfaces, will I? :-)
I've never done a lot of OO programming in C++, can you provide
a few more complex signatures. Something with interfaces and
exceptions? And a few templates, as long as we're at it?
Cheers,
norm
--
Norman Walsh <ndw@nwalsh.com> | When the situation is desperate,
http://www.oasis-open.org/docbook/ | it is too late to be serious. Be
Member, DocBook Editorial Board | playful.--Edward Abbey