Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Общие типы

// 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, будет сгенерирована и реализация std::hash для соответствующего типа C++.