#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/asm/Instruction.hpp");
type Span = crate::utils::ffi::Span;
type asm_Instruction;
fn raw(self: &asm_Instruction) -> Span;
fn address(self: &asm_Instruction) -> u64;
fn size(self: &asm_Instruction) -> u64;
fn mnemonic(self: &asm_Instruction) -> UniquePtr<CxxString>;
fn to_string(self: &asm_Instruction) -> UniquePtr<CxxString>;
fn to_string_no_address(self: &asm_Instruction) -> UniquePtr<CxxString>;
fn is_call(self: &asm_Instruction) -> bool;
fn is_terminator(self: &asm_Instruction) -> bool;
fn is_branch(self: &asm_Instruction) -> bool;
fn is_syscall(self: &asm_Instruction) -> bool;
fn is_memory_access(self: &asm_Instruction) -> bool;
fn is_move_reg(self: &asm_Instruction) -> bool;
fn is_add(self: &asm_Instruction) -> bool;
fn is_trap(self: &asm_Instruction) -> bool;
fn is_barrier(self: &asm_Instruction) -> bool;
fn is_return(self: &asm_Instruction) -> bool;
fn is_indirect_branch(self: &asm_Instruction) -> bool;
fn is_conditional_branch(self: &asm_Instruction) -> bool;
fn is_unconditional_branch(self: &asm_Instruction) -> bool;
fn is_compare(self: &asm_Instruction) -> bool;
fn is_move_immediate(self: &asm_Instruction) -> bool;
fn is_bitcast(self: &asm_Instruction) -> bool;
fn memory_access(self: &asm_Instruction) -> u64;
fn branch_target(self: &asm_Instruction, err: Pin<&mut u32>) -> u64;
}
impl UniquePtr<asm_Instruction> {}
}