#class #inherit #cpp #macro #struct #debugging #nothing

过程宏 cpp-inherit

宏,使您能够从C++类继承Rust结构体

2个版本

0.1.1 2020年7月31日
0.1.0 2020年7月31日

#1541过程宏

MIT 许可证

23KB
522

cpp-inherit

一个宏,用于从C++类继承Rust结构体。这里没有有价值的内容。

示例

use cpp_inherit::*;

#[inherit_from(BaseType)]
#[derive(Debug)]
struct RustType {}

#[inherit_from_impl(BaseType, "test.hpp")]
impl RustType {
    fn new() -> Self {
        Self {
            _base: BaseType { vtable_: RustType::VTABLE_ as _, value: 3 }
        }
    }

    #[overridden] fn x(&self) -> i32 {
        99
    }
}

// Now you can pass RustType as a BaseType, access any BaseType fields, call any BaseType methods (virtual or not), from either C++ or Rust

示例用法其余部分在此

依赖

~5.5MB
~111K SLoC