+++ /dev/null
-<doxygenlayout version="1.0">
- <!-- Navigation index tabs for HTML output -->
- <navindex>
- <tab type="mainpage" visible="yes" title=""/>
- <tab type="pages" visible="yes" title=""/>
- <tab type="modules" visible="yes" title=""/>
- <tab type="namespaces" visible="yes" title="">
- <tab type="namespaces" visible="yes" title=""/>
- <tab type="namespacemembers" visible="yes" title=""/>
- </tab>
- <tab type="classes" visible="yes" title="">
- <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
- <tab type="classes" visible="yes" title=""/>
- <tab type="hierarchy" visible="yes" title=""/>
- <tab type="classmembers" visible="yes" title=""/>
- </tab>
- <tab type="files" visible="yes" title="">
- <tab type="files" visible="yes" title=""/>
- <tab type="globals" visible="yes" title=""/>
- </tab>
- <tab type="dirs" visible="yes" title=""/>
- <tab type="examples" visible="yes" title=""/>
- </navindex>
-
- <!-- Layout definition for a class page -->
- <class>
- <briefdescription visible="yes"/>
- <includes visible="$SHOW_INCLUDE_FILES"/>
- <inheritancegraph visible="$CLASS_GRAPH"/>
- <collaborationgraph visible="$COLLABORATION_GRAPH"/>
- <allmemberslink visible="yes"/>
- <detaileddescription title=""/>
- <memberdecl>
- <nestedclasses visible="yes" title=""/>
- <publictypes title=""/>
- <publicslots title=""/>
- <signals title=""/>
- <publicmethods title=""/>
- <publicstaticmethods title=""/>
- <publicattributes title=""/>
- <publicstaticattributes title=""/>
- <related title="" subtitle=""/>
- <membergroups visible="yes"/>
- <protectedtypes title=""/>
- <protectedslots title=""/>
- <protectedmethods title=""/>
- <protectedstaticmethods title=""/>
- <protectedattributes title=""/>
- <protectedstaticattributes title=""/>
- <packagetypes title=""/>
- <packagemethods title=""/>
- <packagestaticmethods title=""/>
- <packageattributes title=""/>
- <packagestaticattributes title=""/>
- <properties title=""/>
- <events title=""/>
- <privatetypes title=""/>
- <privateslots title=""/>
- <privatemethods title=""/>
- <privatestaticmethods title=""/>
- <privateattributes title=""/>
- <privatestaticattributes title=""/>
- <friends title=""/>
- </memberdecl>
- <memberdef>
- <typedefs title=""/>
- <enums title=""/>
- <constructors title=""/>
- <functions title=""/>
- <related title=""/>
- <variables title=""/>
- <properties title=""/>
- <events title=""/>
- </memberdef>
- <usedfiles visible="$SHOW_USED_FILES"/>
- <authorsection visible="yes"/>
- </class>
-
- <!-- Layout definition for a namespace page -->
- <namespace>
- <briefdescription visible="yes"/>
- <detaileddescription title=""/>
- <memberdecl>
- <nestednamespaces visible="yes" title=""/>
- <classes visible="yes" title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <functions title=""/>
- <variables title=""/>
- <membergroups visible="yes"/>
- </memberdecl>
- <memberdef>
- <typedefs title=""/>
- <enums title=""/>
- <functions title=""/>
- <variables title=""/>
- </memberdef>
- <authorsection visible="yes"/>
- </namespace>
-
- <!-- Layout definition for a file page -->
- <file>
- <briefdescription visible="yes"/>
- <includes visible="$SHOW_INCLUDE_FILES"/>
- <includegraph visible="$INCLUDE_GRAPH"/>
- <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
- <sourcelink visible="yes"/>
- <detaileddescription title=""/>
- <memberdecl>
- <classes visible="yes" title=""/>
- <namespaces visible="yes" title=""/>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <functions title=""/>
- <variables title=""/>
- <membergroups visible="yes"/>
- </memberdecl>
- <memberdef>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <functions title=""/>
- <variables title=""/>
- </memberdef>
- <authorsection/>
- </file>
-
- <!-- Layout definition for a group page -->
- <group>
- <briefdescription visible="yes"/>
- <groupgraph visible="$GROUP_GRAPHS"/>
- <detaileddescription title=""/>
- <memberdecl>
- <classes visible="yes" title=""/>
- <namespaces visible="yes" title=""/>
- <dirs visible="yes" title=""/>
- <nestedgroups visible="yes" title=""/>
- <files visible="yes" title=""/>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <enumvalues title=""/>
- <functions title=""/>
- <variables title=""/>
- <signals title=""/>
- <publicslots title=""/>
- <protectedslots title=""/>
- <privateslots title=""/>
- <events title=""/>
- <properties title=""/>
- <friends title=""/>
- <membergroups visible="yes"/>
- </memberdecl>
- <memberdef>
- <pagedocs/>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <enumvalues title=""/>
- <functions title=""/>
- <variables title=""/>
- <signals title=""/>
- <publicslots title=""/>
- <protectedslots title=""/>
- <privateslots title=""/>
- <events title=""/>
- <properties title=""/>
- <friends title=""/>
- </memberdef>
- <authorsection visible="yes"/>
- </group>
-
- <!-- Layout definition for a directory page -->
- <directory>
- <briefdescription visible="yes"/>
- <directorygraph visible="yes"/>
- <detaileddescription title=""/>
- <memberdecl>
- <dirs visible="yes"/>
- <files visible="yes"/>
- </memberdecl>
- </directory>
-</doxygenlayout>
+++ /dev/null
-#!/bin/bash -e
-
-do_html_cleanup()
-{
- sed -e 's/id="current"/class="current"/' \
- | tidy -ascii -q --wrap 0 --show-warnings no --fix-uri no \
- | sed -e 's/name="\([^"]*\)"\([^>]*\) id="\1"/name="\1"\2/g' \
- | xsltproc --novalid --nonet --html --stringparam topdir "$reltopdir" \
- "$base/html-munge.xsl" -
-}
-
-###########################################################################
-
-# Build absolute, normalized pathname
-abspath()
-{
- case "$1" in
- /*) echo "$1" ;;
- *) echo "`pwd`/$1" ;;
- esac | sed \
- -e 's/\/\/*/\//g' \
- -e:a \
- -e 's/\/\.\(\/\|$\)/\1/g' \
- -eta \
- -e:b \
- -e 's/\/[^\/]*\/..\(\/\|$\)/\1/' \
- -etb \
- -e 's/^\(\/..\)*\(\/\|$\)/\2/' \
- -e 's/^$/\//'
-}
-
-# Create relative path from absolute directory $1 to absolute path $2
-relpath()
-{
- local src="${1#/}"
- local dst="${2#/}"
- while true; do
- if [ -z "$src" -a -z "$dst" ]; then
- echo "Internal error in relpath()" 1>&2
- exit 1
- fi
- srcd="${src%%/*}"
- dstd="${dst%%/*}"
- if [ "$srcd" = "$dstd" ]; then
- src="${src#$srcd}"; src="${src#/}"
- dst="${dst#$dstd}"; dst="${dst#/}"
- else
- break
- fi
- done
- rel="`echo "$src" | sed -e "s/[^\/]*/../g"`/$dst" # `"
- echo "${rel%/}"
-}
-
-# Log executed commands
-cmd()
-{
- echo "+" "$@"
- "$@"
-}
-
-html_cleanup()
-{
- mv "$1" "${1}.orig"
- do_html_cleanup <"${1}.orig" >"$1"
-}
-
-###########################################################################
-
-name="`basename "$0"`"; #`"
-base="`dirname "$0"`"; base="`cd "$base"; pwd`" #`"
-
-TEMP=`getopt -n $name -o '' -l html,tagfile,tagfile-name:,tagfiles:,output-dir:,html-dir: -- "$@"`
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-eval set -- "$TEMP"
-
-tagxsl="$base/tag-munge.xsl"
-
-html="NO"; tagfile="NO"; tagfile_name=""; tagfiles=""; output_dir="doc"; html_dir="html"
-
-while true; do
- case "$1" in
- --html)
- html="YES" ; shift ;;
- --tagfile)
- tagfile="YES" ; shift ;;
- --tagfile-name)
- tagfile_name="$2"; shift 2 ;;
- --tagfiles)
- for f in $2; do
- f="`abspath "$f"`" #`"
- tagfiles="$tagfiles${tagfiles:+ }$f"
- done
- shift 2
- ;;
- --output-dir)
- output_dir="$2"; shift 2 ;;
- --html-dir)
- html_dir="$2"; shift 2 ;;
- --)
- shift; break ;;
- *)
- echo "Internal error: $*"; exit 1 ;;
- esac
-done
-
-if [ -z "$1" ]; then
- cat <<EOF
-Usage:
- $name
- [--html]
- [--tagfile]
- [--tagfile-name=<name>]
- [--tagfiles=<files>]
- [--output-dir=<dir>]
- [--html-dir=<dir>]
- <doxyfile-or-dir>
-EOF
- exit 1
-fi
-
-if [ "$tagfile" = "YES" -a -z "$tagfile_name" ]; then
- echo "--tagfile-name is required with --tagfile"
- exit 1
-fi
-
-doxydir="$1"
-
-if [ -f "$doxydir" ]; then
- doxydir="`dirname "$doxydir"`" #`"
-fi
-
-doxydir="`abspath "$doxydir"`" #`"
-
-###########################################################################
-
-## Find $TOPDIR
-
-cd "$doxydir"
-while [ ! -r "SConstruct" -a "`pwd`" != "/" ]; do cd ..; done
-if [ ! -r "SConstruct" ]; then
- echo "topdir not found"
- exit 1;
-fi
-TOPDIR="`pwd`";
-reltopdir="`relpath "$doxydir/$output_dir/$html_dir" "$TOPDIR"`" #`"
-cd "$doxydir"
-
-
-## Remove tagfile_name from list of tagfiles
-
-if [ -n "$tagfile_name" ]; then
- tagfile_name="`abspath "$output_dir/$tagfile_name"`" #`"
- x="$tagfiles"; tagfiles=""
- for f in $x; do
- if [ "$f" != "$tagfile_name" ]; then
- tagfiles="$tagfiles${tagfiles:+ }$f"
- fi
- done
-fi
-
-## Call doxygen proper
-
-generate_tagfile=""
-if [ "$tagfile" = "YES" ]; then
- generate_tagfile="$tagfile_name"
-fi
-export TOPDIR html tagfile tagfile_name tagfiles output_dir html_dir generate_tagfile
-
-cmd ${DOXYGEN:-doxygen}
-
-
-## Clean up tagfile, if generated
-
-if [ "$tagfile" = "YES" ]; then
- mv "$tagfile_name" "${tagfile_name}.orig"
- cmd xsltproc --novalid --nonet -o "$tagfile_name" "$tagxsl" "${tagfile_name}.orig"
-fi
-
-
-## Call installdox
-
-if [ -n "$tagfiles" ]; then
- args=""
- for f in $tagfiles; do
- n="`basename "$f"`" #`"
- d="`dirname "$f"`" #`"
- url="`relpath "$doxydir/$output_dir/$html_dir" "$d/$html_dir"`" #`"
- args="$args${args:+ }-l $n@$url"
- done
-
- (
- cd "./$output_dir/$html_dir"
- cmd "./installdox" $args
- )
-fi
-
-
-## Postprocess html files, if generated
-
-if [ "$html" = "YES" ]; then
- for h in "$doxydir/$output_dir/$html_dir"/*.html; do
- cmd html_cleanup "$h"
- done
-fi
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>\r
-<xsl:stylesheet version="1.0"\r
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"\r
- xmlns:str="http://exslt.org/strings"\r
- xmlns:set="http://exslt.org/sets"\r
- xmlns:exslt="http://exslt.org/common"\r
- extension-element-prefixes="str">\r
-\r
- <xsl:output \r
- method="html" \r
- encoding="html" \r
- doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"\r
- doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>\r
-\r
- <xsl:param name="topdir" select="''"/>\r
- \r
- <xsl:template match="*" name="copy">\r
- <xsl:copy>\r
- <xsl:call-template name="copy-attributes"/>\r
- <xsl:apply-templates/>\r
- </xsl:copy>\r
- </xsl:template>\r
-\r
- <xsl:template name="copy-attributes">\r
- <xsl:for-each select="@*">\r
- <xsl:attribute name="{name(current())}">\r
- <xsl:choose>\r
- <xsl:when test="contains(current(),'@TOPDIR@')">\r
- <xsl:value-of select="substring-before(current(),'@TOPDIR@')"/>\r
- <xsl:value-of select="$topdir"/>\r
- <xsl:value-of select="substring-after(current(),'@TOPDIR@')"/>\r
- </xsl:when>\r
- <xsl:otherwise>\r
- <xsl:value-of select="current()"/>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- </xsl:attribute>\r
- </xsl:for-each>\r
- </xsl:template>\r
-\r
- <!-- Replace @TOPDIR@ with relative top directory path -->\r
-\r
- <xsl:template match="@*[contains(current(),'@TOPDIR@')]">\r
- <xsl:value-of select="substring-before(current(),'@TOPDIR@')"/>\r
- <xsl:value-of select="$topdir"/>\r
- <xsl:value-of select="substring-after(current(),'@TOPDIR@')"/>\r
- </xsl:template>\r
- \r
- <!-- Add 'class' attribute -->\r
- \r
- <xsl:template name="add-class">\r
- <xsl:param name="class"/>\r
- <xsl:copy>\r
- <xsl:call-template name="copy-attributes"/>\r
- <xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>\r
- <xsl:apply-templates/>\r
- </xsl:copy>\r
- </xsl:template>\r
-\r
- <!-- Add '<br/>' tag after every ', ' -->\r
- <!-- This code is not very robust, it works with the doxygen output though -->\r
-\r
- <xsl:template name="break-comma">\r
- <xsl:copy>\r
- <xsl:call-template name="copy-attributes"/>\r
- <xsl:attribute name="class">commalist</xsl:attribute>\r
- <xsl:apply-templates mode="break-comma"/>\r
- </xsl:copy>\r
- </xsl:template>\r
- \r
- <xsl:template match="text()[1]" mode="break-comma">\r
- <xsl:value-of select="current()"/><br/>\r
- </xsl:template>\r
-\r
- <xsl:template match="*" mode="break-comma">\r
- <xsl:call-template name="copy"/>\r
- </xsl:template>\r
-\r
- <xsl:template match="text()[contains(current(),' and') or contains(current(),'and ')]" mode="break-comma" priority="1">\r
- <xsl:value-of select="substring-before(current(),'and')"/>\r
- <br/>\r
- <xsl:value-of select="substring-after(current(),'and')"/>\r
- </xsl:template>\r
-\r
- <xsl:template match="text()[contains(current(),',')]" mode="break-comma">\r
- <xsl:value-of select="substring-before(current(),',')"/>\r
- <xsl:text>,</xsl:text><br/>\r
- <xsl:value-of select="substring-after(current(),',')"/>\r
- </xsl:template>\r
-\r
- <!-- ====================================================================== -->\r
-\r
- <!-- Hack Glossary menu highlight -->\r
-\r
- <xsl:template match="div[@class='tabs menu']/ul[1]">\r
- <xsl:choose>\r
- <xsl:when test="//h1[.//text()='Glossary']">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">glossary</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:when>\r
- <xsl:otherwise>\r
- <xsl:copy>\r
- <xsl:call-template name="copy-attributes"/>\r
- <xsl:apply-templates/>\r
- </xsl:copy>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- </xsl:template>\r
-\r
- <!-- Autogenerate table-of-contents for a page -->\r
-\r
- <xsl:template match="div[@id='autotoc']">\r
- <xsl:copy>\r
- <xsl:call-template name="copy-attributes"/>\r
- <h1>Contents</h1>\r
- <ul>\r
- <xsl:for-each select="following::h2|following::h3|following::h4">\r
- <xsl:element name="li">\r
- <xsl:attribute name="class">\r
- <xsl:value-of select="concat('level_',local-name())"/>\r
- </xsl:attribute>\r
- <b><xsl:call-template name="section-number"/><xsl:text> </xsl:text></b>\r
- <xsl:element name="a">\r
- <xsl:choose>\r
- <xsl:when test="a/@name">\r
- <xsl:attribute name="href">\r
- <xsl:value-of select="concat('#',a/@name)"/>\r
- </xsl:attribute>\r
- </xsl:when>\r
- <xsl:otherwise>\r
- <xsl:attribute name="href">\r
- <xsl:text>#autotoc-</xsl:text>\r
- <xsl:call-template name="section-number"/>\r
- </xsl:attribute>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- <xsl:value-of select="string(current())"/>\r
- </xsl:element>\r
- </xsl:element>\r
- </xsl:for-each>\r
- </ul>\r
- </xsl:copy>\r
- </xsl:template>\r
-\r
- <xsl:template name="section-number">\r
- <xsl:number level="any" from="div[@id='autotoc']" count="h2"/>\r
- <xsl:text>.</xsl:text>\r
- <xsl:if test="self::h3|self::h4">\r
- <xsl:number level="any" from="h2" count="h3"/>\r
- <xsl:text>.</xsl:text>\r
- </xsl:if>\r
- <xsl:if test="self::h4">\r
- <xsl:number level="any" from="h3" count="h4"/>\r
- <xsl:text>.</xsl:text>\r
- </xsl:if>\r
- </xsl:template>\r
- \r
- <xsl:template match="h2|h3|h4">\r
- <xsl:copy>\r
- <xsl:call-template name="copy-attributes"/>\r
- <xsl:choose>\r
- <xsl:when test="preceding::div[@id='autotoc']">\r
- <xsl:call-template name="section-number"/>\r
- <xsl:text> </xsl:text>\r
- <xsl:choose>\r
- <xsl:when test="a">\r
- <xsl:apply-templates/>\r
- </xsl:when>\r
- <xsl:otherwise>\r
- <xsl:element name="a">\r
- <xsl:attribute name="class"><xsl:text>anchor</xsl:text></xsl:attribute>\r
- <xsl:attribute name="name">\r
- <xsl:text>autotoc-</xsl:text>\r
- <xsl:call-template name="section-number"/>\r
- </xsl:attribute>\r
- <xsl:apply-templates/>\r
- </xsl:element>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- </xsl:when>\r
- <xsl:otherwise>\r
- <xsl:apply-templates/>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- </xsl:copy>\r
- </xsl:template>\r
-\r
- <!-- Build dia image-map from special div/span elements -->\r
- <xsl:template match="div[@class='diamap']">\r
- <xsl:element name="map">\r
- <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>\r
- <xsl:for-each select="span">\r
- <xsl:if test="a">\r
- <xsl:variable name="name" select="string(a[1])"/>\r
- <xsl:element name="area">\r
- <xsl:attribute name="shape">rect</xsl:attribute>\r
- <xsl:attribute name="alt"><xsl:value-of select="$name"/></xsl:attribute>\r
- <xsl:attribute name="title"><xsl:value-of select="$name"/></xsl:attribute>\r
- <xsl:attribute name="href"><xsl:value-of select="a[1]/@href"/></xsl:attribute>\r
- <xsl:attribute name="coords"><xsl:value-of select="@coords"/></xsl:attribute>\r
- </xsl:element>\r
- </xsl:if>\r
- </xsl:for-each>\r
- </xsl:element>\r
- </xsl:template>\r
-\r
- <!-- Reformat detailed member documentation -->\r
-\r
- <xsl:template match="table[@class='memname']">\r
- <xsl:variable name="name1"><xsl:value-of select="str:split(tr/td[@class='memname'],'::')[position()=last()]"/></xsl:variable>\r
- <xsl:variable name="name2"><xsl:value-of select="str:split(tr/td[@class='memname'],' ')[position()=last()]"/></xsl:variable>\r
- <xsl:variable name="name"><xsl:value-of select="substring($name1,string-length($name1)-string-length($name2))"/></xsl:variable>\r
- <xsl:element name="table">\r
- <xsl:attribute name="class">\r
- <xsl:text>memname</xsl:text>\r
- <xsl:if test="contains(tr/td[@class='memname'],'#define')"><xsl:text> macro</xsl:text></xsl:if>\r
- </xsl:attribute>\r
- <tr>\r
- <td class="memtype" colspan="5">\r
- <xsl:for-each select="tr/td[@class='memname']/*|tr/td[@class='memname']/text()">\r
- <xsl:choose>\r
- <xsl:when test="position()=last()">\r
- <xsl:value-of select="substring(.,1,string-length(.)-string-length($name))"/>\r
- </xsl:when>\r
- <xsl:otherwise>\r
- <xsl:copy-of select="."/>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- </xsl:for-each>\r
- </td>\r
- </tr>\r
-\r
- <xsl:choose>\r
- <xsl:when test="tr/td[@class='paramtype']">\r
- <tr>\r
- <td class="memname"><xsl:copy-of select="$name"/></td>\r
- <td class="memparen">(</td>\r
- <xsl:copy-of select="tr[1]/td[@class='paramtype']"/>\r
- <xsl:copy-of select="tr[1]/td[@class='paramname']"/>\r
- <td class="memparen"><xsl:if test="not(tr[td[@class='paramkey']])">)</xsl:if></td>\r
- </tr>\r
-\r
- <xsl:for-each select="tr[td[@class='paramkey']]">\r
- <tr>\r
- <td class="memname"></td>\r
- <td class="memparen"></td>\r
- <xsl:copy-of select="td[@class='paramtype']"/>\r
- <xsl:copy-of select="td[@class='paramname']"/>\r
- <td class="memparen"><xsl:if test="position()=last()">)</xsl:if></td>\r
- </tr>\r
- </xsl:for-each>\r
- </xsl:when>\r
- <xsl:otherwise>\r
- <tr>\r
- <td class="memname"><xsl:copy-of select="$name"/></td>\r
- <td class="memparen"><xsl:if test="tr/td[.='(']">()</xsl:if></td>\r
- <td class="paramtype"></td>\r
- <td class="paramname"></td>\r
- <td class="memparen"></td>\r
- </tr>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- <tr>\r
- <td colspan="5" class="memattrs"><xsl:copy-of select="tr/td[@width='100%']/*|tr/td[@width='100%']/text()"/></td>\r
- </tr>\r
- </xsl:element>\r
- </xsl:template>\r
-\r
- <!-- no idea, where these 's come frome ... -->\r
- <xsl:template match="div[@class='memproto']/text()[.=' 
']">\r
- </xsl:template>\r
-\r
- <!-- Add grouping to all-members page -->\r
-\r
- <xsl:template match="table[preceding-sibling::h1[1][contains(text(),'Member List')]]">\r
- <table class="allmembers">\r
-\r
- <!-- We need to filter the table rows by looking for indications on the object type -->\r
- <!-- The table has 3 acolumns: -->\r
- <!-- td[1] is the name of the object, -->\r
- <!-- td[2] is the name of the class the object is defined in -->\r
- <!-- td[3] contains additional flags -->\r
- <!-- -->\r
- <!-- The conditions we have are: -->\r
- <!-- -->\r
- <!-- contains(td[3],'static') static member (variable or function) -->\r
- <!-- contains(td[3],'protected') protected member of arbitrary type -->\r
- <!-- contains(td[3],'private') private member of arbitrary type -->\r
- <!-- contains(td{3],'friend') friend declaration (function or class) -->\r
- <!-- contains(td[3],'pure virtual') entry is a pure-virtual member function -->\r
- <!-- starts-with(td[1]/text(),'(') function entry (member, static or friend) -->\r
- <!-- contains(td[1], 'typedef') entry is a typdef -->\r
- <!-- contains(td[1], 'enum ') entry is enum type or enumerator -->\r
- <!-- contains(td[1], 'enum name') entry is the name of an enum type -->\r
- <!-- contains(td[1], 'enum value') entry is an enumerator value -->\r
- <!-- str:split(substring-before(concat(td[2]/a,'<'),'<'),'::')[position()=last()]==string(td[1]/a) -->\r
- <!-- entry is a constructor -->\r
- <!-- not(starts-with(td[1]/a,'~')) entry is a destructor -->\r
-\r
- <xsl:variable name="public-static-memfn">\r
- <xsl:apply-templates select="tr[contains(td[3],'static')][not(contains(td[3],'protected'))][not(contains(td[3],'private'))][not(contains(td[3],'friend'))][starts-with(td[1]/text(),'(')]"/>\r
- </xsl:variable>\r
- <xsl:if test="string($public-static-memfn)">\r
- <tr><td colspan="3"><h2>Static Public Member Functions</h2></td></tr>\r
- <xsl:copy-of select="$public-static-memfn"/>\r
- </xsl:if>\r
-\r
- <xsl:variable name="public-static-var">\r
- <xsl:apply-templates select="tr[not(contains(td[1],'typedef'))][contains(td[3],'static')][not(contains(td[3],'protected'))][not(contains(td[3],'private'))][not(starts-with(td[1]/text(),'('))]"/>\r
- </xsl:variable>\r
- <xsl:if test="string($public-static-var)">\r
- <tr><td colspan="3"><h2>Static Public Attributes</h2></td></tr>\r
- <xsl:copy-of select="$public-static-var"/>\r
- </xsl:if>\r
- \r
- <xsl:variable name="public-memfn">\r
- <xsl:apply-templates select="tr[not(contains(td[1],'typedef'))][not(contains(td[3],'static'))][not(contains(td[3],'protected'))][not(contains(td[3],'private'))][not(contains(td[3],'friend'))][starts-with(td[1]/text(),'(')][str:split(substring-before(concat(td[2]/a,'<'),'<'),'::')[position()=last()]!=string(td[1]/a)][not(starts-with(td[1]/a,'~'))][not(contains(td[3],'pure virtual'))]"/>\r
- </xsl:variable>\r
- <xsl:if test="string($public-memfn)">\r
- <tr><td colspan="3"><h2>Public Member Functions</h2></td></tr>\r
- <xsl:copy-of select="set:distinct(exslt:node-set($public-memfn)/tr)"/>\r
- </xsl:if>\r
-\r
- <xsl:variable name="public-var">\r
- <xsl:apply-templates select="tr[not(contains(td[1],'typedef'))][not(contains(td[1],'enum '))][not(contains(td[3],'static'))][not(contains(td[3],'protected'))][not(contains(td[3],'private'))][not(starts-with(td[1]/text(),'('))]"/>\r
- </xsl:variable>\r
- <xsl:if test="string($public-var)">\r
- <tr><td colspan="3"><h2>Public Attributes</h2></td></tr>\r
- <xsl:copy-of select="$public-var"/>\r
- </xsl:if>\r
- \r
- <xsl:variable name="public-enum">\r
- <xsl:apply-templates select="tr[contains(td[1],'enum value')][not(contains(td[3],'protected'))][not(contains(td[3],'private'))]"/>\r
- </xsl:variable>\r
- <xsl:if test="string($public-enum)">\r
- <tr><td colspan="3"><h2>Public Enumerators</h2></td></tr>\r
- <xsl:copy-of select="$public-enum"/>\r
- </xsl:if>\r
- \r
- <xsl:variable name="public-type">\r
- <xsl:apply-templates select="tr[contains(td[1],'typedef') or contains(td[1],'enum name')][not(contains(td[3],'protected'))][not(contains(td[3],'private'))][not(contains(td[3],'friend'))]"/>\r
- </xsl:variable>\r
- <xsl:if test="string($public-type)">\r
- <tr><td colspan="r"><h2>Public Types</h2></td></tr>\r
- <xsl:copy-of select="$public-type"/>\r
- </xsl:if>\r
- \r
- <xsl:variable name="non-public">\r
- <xsl:apply-templates select="tr[contains(td[3],'protected') or contains(td[3],'private') or contains(td[3],'friend')][str:split(substring-before(concat(td[2]/a,'<'),'<'),'::')[position()=last()]!=string(td[1]/a)][not(starts-with(td[1]/a,'~'))][not(contains(td[3],'pure virtual'))]"/>\r
- </xsl:variable>\r
- <xsl:if test="string($non-public)">\r
- <tr><td colspan="3"><h2>Non-Public Members</h2></td></tr>\r
- <xsl:copy-of select="$non-public"/>\r
- </xsl:if>\r
-\r
- </table>\r
- </xsl:template>\r
-\r
- <xsl:template match="table[preceding-sibling::h1[1][contains(text(),'Member List')]]/tr/td[2]/a/text()[contains(.,'<')]">\r
- <!-- this removes the template args form the second column to make the table more compact -->\r
- <xsl:value-of select="substring-before(.,'<')"/>\r
- </xsl:template>\r
-\r
- <xsl:template match="table[preceding-sibling::h1[1][contains(text(),'Member List')]]/tr/td[1]/a/text()[contains(.,'::')]">\r
- <!-- for some weird reason, some members have a fully qualified name in the first column -->\r
- <!-- remove the qualification here -->\r
- <xsl:value-of select="str:split(.,'::')[position()=last()]"/>\r
- </xsl:template>\r
-\r
- <!-- Remove the automatically inserted search form (we build our own) -->\r
- <xsl:template match="li[form]"> \r
- </xsl:template>\r
-\r
- <!-- Add CSS class to alphabetical class index table -->\r
- <xsl:template match="table[preceding-sibling::*[1][self::div][@class='qindex']]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">qindextable</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <!-- Add CSS class to special paragraphs -->\r
-\r
- <xsl:template match="dl[dt/b/a/text()='Bug:']">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">xref-bug</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="dl[dt/b/a/text()='Fix:']">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">xref-fix</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="dl[dt/b/a/text()='Todo:']">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">xref-todo</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="dl[dt/b/a/text()='Idea:']">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">xref-idea</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="dl[dt/b/text()='Parameters:']|dl[dt/b/text()='Template Parameters:']">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">parameters</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="dl[dt/b/text()='Implementation note:']">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">implementation</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="p[starts-with(text(),'Definition at line ')]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">sourceline</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="div[@class='memdoc']/p[starts-with(text(),'References ')]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">references</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="div[@class='memdoc']/p[starts-with(text(),'Referenced by ')]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">referencedby</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="div[@class='memdoc']/p[starts-with(text(),'Reimplemented from ')]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">reimplementedfrom</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="div[@class='memdoc']/p[starts-with(text(),'Reimplemented in ')]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">reimplementedin</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <xsl:template match="div[@class='memdoc']/p[starts-with(text(),'Implemented in ')]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">implementedin</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <!-- Break the following lists after each komma -->\r
-\r
- <xsl:template match="p[starts-with(text(),'Inherited by ')]">\r
- <xsl:call-template name="break-comma"/>\r
- </xsl:template>\r
-\r
- <xsl:template match="p[starts-with(text(),'Inherits ')]">\r
- <xsl:call-template name="break-comma"/>\r
- </xsl:template>\r
-\r
- <!-- Add CSS class to the member overview table of a class documentation -->\r
- <xsl:template match="table[descendant::td[@class='memItemLeft']]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">members</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <!-- Add CSS class to literal links (links, where link text and href attribute are the same -->\r
- <xsl:template match="a[@href=string(current())]" priority="1">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">literal</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <!-- Add CSS class to external links -->\r
- <xsl:template match="a[contains(@href,'http://')]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">ext</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <!-- Add CSS class to anchor-only links -->\r
- <xsl:template match="a[not(@href)]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">anchor</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <!-- Add CSS class to the brief documentation paragraph of the member documentation -->\r
- <xsl:template match="div[@class='memdoc']/p[1][not(contains(.,'Definition at line'))]">\r
- <xsl:call-template name="add-class">\r
- <xsl:with-param name="class">memtitle</xsl:with-param>\r
- </xsl:call-template>\r
- </xsl:template>\r
-\r
- <!-- Remove external items from the namespace index -->\r
- <xsl:template match="div[@id='content2']/table[contains(preceding-sibling::h1/text(),'Namespace Reference')]/tr[td[@class='memItemRight']/a[1][@class='elRef'][@doxygen]]">\r
- </xsl:template>\r
- \r
- <!-- Remove [external] references from the modules page -->\r
- <xsl:template match="div[@id='content2']/ul/li[a/@class='elRef'][a/@doxygen][code/text()='[external]'][not(ul)]">\r
- </xsl:template>\r
-\r
-</xsl:stylesheet>\r