19 stable releases

1.3.2 Aug 2, 2018
1.3.1 Jun 16, 2018
1.3.0 Jul 21, 2017
1.2.0 Dec 30, 2016
1.0.10 Mar 25, 2015

#32 in Data structures

Download history 668/week @ 2018-11-14 593/week @ 2018-11-21 757/week @ 2018-11-28 1797/week @ 2018-12-05 2706/week @ 2018-12-12 2735/week @ 2018-12-19 2526/week @ 2018-12-26 545/week @ 2019-01-02 356/week @ 2019-01-09 425/week @ 2019-01-16 489/week @ 2019-01-23 325/week @ 2019-01-30 330/week @ 2019-02-06 734/week @ 2019-02-13 1643/week @ 2019-02-20

5,785 downloads per month
Used in 66 crates (5 directly)

Apache-2.0/MIT

16KB
332 lines

c_vec Build Status

Structures to wrap C arrays. Here's a little example:

extern crate libc;
extern crate c_vec;

use c_vec::{CVec, CSlice};
use std::ptr::Unique;

fn some_func(cvec: *mut libc::c_int, len: uint) {
    // safe wrapper, you can pass a destructor with new_with_dtor() method
    let v = CVec::new(Unique::new(cvec), len);
    // unsafe wrapper with no destructor
    let s = CSlice::new(cvec, len);

    println!("cvec:   converted from c array: {}", v.as_ref());
    println!("cslice: converted from c array: {}", s.as_mut());
}

Usage

You can use it directly by adding this line to your Cargo.toml file:

[dependencies]
c_vec = "^1.0.0"

Here's the crates.io page for c_vec.

License

This project is under the MIT and Apache 2.0 licenses. Please take a look at the license files for more information.

No runtime deps