共有型
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
#[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を derive すると、対応する C++ 型に対するstd::hashの 実装も生成されます。