Rust-Pyo3:从另一个#[pyclass]对象引用## pyclass对象

时间:2019-12-24 10:20:10

标签: python rust pyo3

我正在尝试在Rust中实现类似图的结构,并使用Pyo3将其暴露给Python。

假设我具有以下变量和图形类型:

#[pyclass]
struct PyVariable {
   var: Variable
}
#[pymethods]
impl PyVariable {
    #[new]
    pub fn new(obj: &PyRawObject) {        
        obj.init({
            PyVariable {
               var: Variable {}   
            }),            
        });
    }
}
#[pyclass]
struct PyGraph {
   graph: Graph
}
#[pymethods]
impl PyGraph {
    #[new]
    pub fn new(obj: &PyRawObject) {        
        obj.init({
            PyGraph {
               graph: Graph::new() 
            }),            
        });
    }

    pub fn add_variable(&mut self, py_var: &mut PyVariable) {
        self.graph.add_variable(py_var.var);

        ///here I would like to give the PyVariable a reference to the PyGraph
    }
}


我希望该用户创建一个PyGraph,创建一个PyVariable,并将变量添加到图形中。

在这一点上,我想在PyVariable中存储对PyGraph的引用(一个Py<PyGraph>?),以便该变量知道它所指向的图(并且以后可以在其中访问该变量的属性)。该图直接通过PyVariable)。

这可能吗?非常感谢您的回答。

0 个答案:

没有答案