具有模板参数的类

具有模板参数的类

据我所知,pgf-umlcd 不支持带有模板参数的类(std::vector<T>例如)。

有人有办法绘制此类吗?有没有简单的 PGF/Tikz 技巧可以做到这一点?

我将实现与 MetaUML 渲染大致相同的效果。请参阅MetaUML 文档第 8/9 页,第 2.5 节“参数化类(模板)”。

谢谢!

答案1

template parameter这是一种在图表的右上角添加虚线框的新样式:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{pgf-umlcd}
\tikzset{
    template parameter/.style={
        append after command={
            node [draw, densely dashed, umlcolor, font=\ttfamily]
                at (\tikzlastnode.north east)
                {#1}
        }
    }
}
\begin{document}
\begin{tikzpicture}
        \begin{interface}[template parameter=std::vector<T>,text width=7cm]{TestInterface}{0,0}
            \operation{Test}
        \end{interface}
\end{tikzpicture}
\end{document}

相关内容