【发布时间】:2020-09-17 18:28:36
【问题描述】:
如何在 UML 类图中绘制 C++ 概念?
具体来说,我有以下代码:
template<typename T>
concept Printable = requires(T a, std::ostream &where) {
{ where << a };
};
template<typename T>
concept Identifiable = requires(T a) {
{ a.getId() } -> std::convertible_to<std::string>;
};
template<typename T>
concept Listable = Identifiable<T> && Printable<T>;
然后是一个类:
template<Listable T>
class Liste {
...
void add(T *data);
...
}
如果它是一个常规模板,我会将T 放在班级角落的一个正方形中。但是这些概念呢?
【问题讨论】:
-
不是我的领域,但我认为您可以简单地在模板绑定中放置一个约束。
标签: c++ uml class-diagram c++-concepts