$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Anthony Williams (anthony.williamsNOSPAM_at_[hidden])
Date: 2002-11-04 10:45:37
Douglas Gregor writes:
> On Wednesday 30 October 2002 08:35 pm, David Bergman wrote:
> > I used to do *a lot of* LaTeX macroing back then, and can probably catch
> > up if noone else volunteers ;-)
>
> Sold!
>
> > Does anyone have an idea of what macros we would need (the actual
> > enumeration could be stolen from some existing C++ "literation" system,
> > such as Doxygen(?))?
>
> Well, I picked a set of constructs for the XSLT/XML prototype. You're welcome
> to steal those if you'd like, or completely ignore them and go with something
> better :). Here's a possible LaTeXified fragment:
>
> \begin{namespace}{boost}
> \begin{class}{function}
> \templateparam{Signature}
> \templateparam{Allocator}[std::allocator<void>]
> \typedef{Allocator}{allocator_type}
> \end{class}
> \end{namespace}
As a test, I have a LaTeX stylesheet that converts the following into
syntactically-valid, but poorly formatted, C++:
\begin{namespace}{hello_there}
\begin{class}{someclass}
\templatetypeparam[default_type]{boo}
\templatetypeparam{foo}
\baseclass[public]{foo}
\baseclass[private]{abc}
\baseclass[private virtual]{def}
\typedef{int}{int_type}
\begin{class}{nestedclass}
\templatetypeparam{Allocator}
\baseclass{abc}
\begin{class}{double_nested}
\end{class}
\end{class}
\end{class}
\typedef{double}{float_type}
\typedef{someclass<foo>}{footype}
\end{namespace}
This becomes:
namespace hello_there
{
template < typename boo = default_type, typename foo >
class someclass :
public foo, private abc, private virtual def
{
typedef int int_type;
template < typename Allocator >
class nestedclass :
abc
{
class double_nested
{
};
template < typename Allocator >
class nestedclass :
abc
{
};
};
typedef double float_type;
typedef someclass<foo> footype;
}
With a bit of effort, I could improve the formatting. I also have a partial
TeX4HT stylesheet to convert this LaTeX to Doug's suggested XML syntax.
Oh, and to the people who know LaTeX --- yes, those are real underscores, not
\_. This messes up using $$ for displaymath, but $ for math still works, with
underscore invoking subscript as normal.
Anthony
-- Anthony Williams Senior Software Engineer, Beran Instruments Ltd. Remove NOSPAM when replying, for timely response.