reoxide 0.7.0

Rust-bindings for the ReOxide decompiler extension framework
Documentation
use reoxide::cpp::*;

#[test]
fn vec_u64_create() {
    let v: ExternAlloc<StdVector<u64>> = StdVector::new();
    assert_eq!(v.len(), 0);
}

#[test]
fn vec_u64_push() {
    let mut v: ExternAlloc<StdVector<u64>> = StdVector::new();
    v.push(0x1337);
    assert_eq!(v.len(), 1);
}

#[test]
fn vec_u64_clear() {
    let mut v: ExternAlloc<StdVector<u64>> = StdVector::new();
    v.push(0x1337);
    v.push(0x1338);
    v.push(0x1339);
    assert_eq!(v.len(), 3);
    v.clear();
    assert_eq!(v.len(), 0);
}

#[test]
fn vec_u64_deref() {
    let mut v: ExternAlloc<StdVector<u64>> = StdVector::new();
    v.push(0x1337);
    assert_eq!(v.len(), 1);

    let slice: &[u64] = &v;
    assert_eq!(slice, [0x1337]);

    v.clear();
    assert_eq!(v.len(), 0);
}

#[test]
fn vec_u64_extend() {
    let mut v: ExternAlloc<StdVector<u64>> = StdVector::new();
    v.extend(&[0x1337, 0x1338, 0x1339]);
    assert_eq!(v.len(), 3);

    let slice: &[u64] = &v;
    assert_eq!(slice, [0x1337, 0x1338, 0x1339]);
}