共有の型
#[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
の実装も生成されます。