#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/ELF/SymbolVersionRequirement.hpp");
type ELF_SymbolVersionAuxRequirement =
crate::elf::symbol_version_aux_requirement::ffi::ELF_SymbolVersionAuxRequirement;
type ELF_SymbolVersionRequirement;
fn version(self: &ELF_SymbolVersionRequirement) -> u16;
fn cnt(self: &ELF_SymbolVersionRequirement) -> u32;
fn name(self: &ELF_SymbolVersionRequirement) -> UniquePtr<CxxString>;
fn auxiliary_symbols(
self: &ELF_SymbolVersionRequirement,
) -> UniquePtr<ELF_SymbolVersionRequirement_it_auxiliary_symbols>;
fn set_name(self: Pin<&mut ELF_SymbolVersionRequirement>, name: &CxxString);
fn find_aux(
self: &ELF_SymbolVersionRequirement,
name: &CxxString,
) -> UniquePtr<ELF_SymbolVersionAuxRequirement>;
fn remove_aux_requirement_by_name(
self: Pin<&mut ELF_SymbolVersionRequirement>,
name: &CxxString,
) -> bool;
fn set_version(self: Pin<&mut ELF_SymbolVersionRequirement>, version: u16);
type ELF_SymbolVersionRequirement_it_auxiliary_symbols;
fn next(
self: Pin<&mut ELF_SymbolVersionRequirement_it_auxiliary_symbols>,
) -> UniquePtr<ELF_SymbolVersionAuxRequirement>;
fn size(self: &ELF_SymbolVersionRequirement_it_auxiliary_symbols) -> u64;
}
impl UniquePtr<ELF_SymbolVersionRequirement> {}
impl UniquePtr<ELF_SymbolVersionRequirement_it_auxiliary_symbols> {}
}