共用型別
#[cxx::bridge]
mod ffi {
#[derive(Clone, Debug, Hash)]
struct PlayingCard {
suit: Suit,
value: u8, // A=1, J=11, Q=12, K=13
}
enum Suit {
Clubs,
Diamonds,
Hearts,
Spades,
}
}
- 只支援與 C 類似的 (單元) 列舉。
- 共用型別上的
#[derive()]
只支援部分特徵。系統也會為 C++ 程式碼產生相對應的功能。舉例來說,如果衍生出Hash
,也會為相應的 C++ 型別產生std::hash
的實作項目。