#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/PDB/DebugInfo.hpp");
type AbstracDebugInfo = crate::generic::debug_info::ffi::AbstracDebugInfo;
type PDB_CompilationUnit = crate::pdb::compilation_unit::ffi::PDB_CompilationUnit;
type PDB_PublicSymbol = crate::pdb::public_symbol::ffi::PDB_PublicSymbol;
type PDB_Type = crate::pdb::type_::ffi::PDB_Type;
type PDB_DebugInfo;
#[Self = "PDB_DebugInfo"]
fn from_file(file: &CxxString) -> UniquePtr<PDB_DebugInfo>;
#[Self = "PDB_DebugInfo"]
fn classof(reloc: &AbstracDebugInfo) -> bool;
fn age(self: &PDB_DebugInfo) -> u32;
fn guid(self: &PDB_DebugInfo) -> UniquePtr<CxxString>;
fn compilation_units(self: &PDB_DebugInfo)
-> UniquePtr<PDB_DebugInfo_it_compilation_units>;
fn public_symbols(self: &PDB_DebugInfo) -> UniquePtr<PDB_DebugInfo_it_public_symbols>;
fn types(self: &PDB_DebugInfo) -> UniquePtr<PDB_DebugInfo_it_types>;
fn public_symbol_by_name(
self: &PDB_DebugInfo,
name: &CxxString,
) -> UniquePtr<PDB_PublicSymbol>;
fn find_type(self: &PDB_DebugInfo, name: &CxxString) -> UniquePtr<PDB_Type>;
fn to_string(self: &PDB_DebugInfo) -> UniquePtr<CxxString>;
fn find_type_by_index(self: &PDB_DebugInfo, index: u32) -> UniquePtr<PDB_Type>;
type PDB_DebugInfo_it_compilation_units;
fn next(
self: Pin<&mut PDB_DebugInfo_it_compilation_units>,
) -> UniquePtr<PDB_CompilationUnit>;
fn size(self: &PDB_DebugInfo_it_compilation_units) -> u64;
type PDB_DebugInfo_it_public_symbols;
fn next(self: Pin<&mut PDB_DebugInfo_it_public_symbols>) -> UniquePtr<PDB_PublicSymbol>;
fn size(self: &PDB_DebugInfo_it_public_symbols) -> u64;
type PDB_DebugInfo_it_types;
fn next(self: Pin<&mut PDB_DebugInfo_it_types>) -> UniquePtr<PDB_Type>;
fn size(self: &PDB_DebugInfo_it_types) -> u64;
}
impl UniquePtr<PDB_DebugInfo> {}
impl UniquePtr<PDB_DebugInfo_it_compilation_units> {}
impl UniquePtr<PDB_DebugInfo_it_public_symbols> {}
impl UniquePtr<PDB_DebugInfo_it_types> {}
}