小编Lor*_*enz的帖子

在Rust中实现类似图形的数据结构

我有一个数据结构,可以表示为链接对象链接的一些结构之间的单向图,因为链接包含元数据.

它看起来像这样:

struct StateMachine {
    resources: Vec<Resource>,
    links: Vec<Link>,
}
struct Resource {
    kind: ResourceType,
      // ...
}

enum LinkTarget {
    ResourceList(Vec<&Resource>),
    LabelSelector(HashMap<String, String>),
}

struct Link {
    from: LinkTarget,
    to: LinkTarget,
    metadata: SomeMetadataStruct,
}
Run Code Online (Sandbox Code Playgroud)

整个结构需要是可变的,因为我需要能够在运行时添加和删除链接和资源.因此,我不能使用正常的生命周期模型并将资源绑定到父结构的生命周期.

我知道我需要通过选择合适的类型来"选择我自己的保证",但我不确定解决这个问题的最佳方法是什么.

ownership rust data-structures

13
推荐指数
3
解决办法
5236
查看次数

标签 统计

data-structures ×1

ownership ×1

rust ×1