#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/COFF/Symbol.hpp");
include!("LIEF/rust/COFF/Section.hpp");
type COFF_AuxiliarySymbol = crate::coff::auxiliary_symbol::ffi::COFF_AuxiliarySymbol;
type COFF_Section = crate::coff::section::ffi::COFF_Section;
type COFF_Symbol;
fn storage_class(self: &COFF_Symbol) -> u32;
fn base_type(self: &COFF_Symbol) -> u32;
fn complex_type(self: &COFF_Symbol) -> u32;
fn section_idx(self: &COFF_Symbol) -> i16;
fn section(self: &COFF_Symbol) -> UniquePtr<COFF_Section>;
fn is_external(self: &COFF_Symbol) -> bool;
fn is_function(self: &COFF_Symbol) -> bool;
fn is_absolute(self: &COFF_Symbol) -> bool;
fn is_weak_external(self: &COFF_Symbol) -> bool;
fn is_undefined(self: &COFF_Symbol) -> bool;
fn is_function_line_info(self: &COFF_Symbol) -> bool;
fn is_file_record(self: &COFF_Symbol) -> bool;
fn auxiliary_symbols(self: &COFF_Symbol) -> UniquePtr<COFF_Symbol_it_auxiliary_symbols>;
fn demangled_name(self: &COFF_Symbol) -> UniquePtr<CxxString>;
fn to_string(self: &COFF_Symbol) -> UniquePtr<CxxString>;
type COFF_Symbol_it_auxiliary_symbols;
fn next(
self: Pin<&mut COFF_Symbol_it_auxiliary_symbols>,
) -> UniquePtr<COFF_AuxiliarySymbol>;
fn size(self: &COFF_Symbol_it_auxiliary_symbols) -> u64;
}
impl UniquePtr<COFF_Symbol> {}
impl UniquePtr<COFF_Symbol_it_auxiliary_symbols> {}
}