标签: c++ uml typedef
我想知道我如何像UML中的以下那样表示复杂的typedef:
class Foo { protected: typedef std::pair<uint64_t, Bar> BarPair; typedef std::set<BarPair> BarPairSet; std::map<uint32_t, BarPairSet> m_indexedBarPairSet };
Bar不属于Foo的一部分。
Bar
Foo
答案 0 :(得分:1)
对于结构,可以使用<<dataType>>(请参阅UML 2.5的165页)。 (部分)您的代码如下所示:
<<dataType>>
答案 1 :(得分:1)
没有直接的方法来表示您的 typedefs ,当然,可能有例如依赖于模板类 pair的类 BarPair ,但是没有支持绑定的标准方法。
如果不是 typedef std :: pair BarPair 而是 BarPair:public std :: pair {} ,我们有
那么,将具有原型 typedef 的UML扩展为具有这样的内容:
或使用 typedef-bind 对实现进行原型化,并对 BarPair 和 BarPairSet 使用原型 typedef