pub fn properties(&self) -> Vec<String> {
        extern "C" fn callback(_: hid_t, name: *const c_char, data: *mut c_void) -> herr_t {
            let data = unsafe { &mut *(data as *mut Vec<String>) };
            let name = string_from_cstr(name);
            if !name.is_empty() {
                data.push(name);
            }
            0
        }

        let mut data = Vec::new();
        let data_ptr: *mut c_void = &mut data as *mut _ as *mut _;

        h5lock!(H5Piterate(self.id(), ptr::null_mut(), Some(callback), data_ptr));
        data
    }
/// Iterates over properties in the property list, returning their names.
Iterates over properties in the property list, returning their names.
Iterates over properties in the property list returning their names .
pub fn properties(&self) -> Vec<String> {
        extern "C" fn callback(_: hid_t, name: *const c_char, data: *mut c_void) -> herr_t {
            let data = unsafe { &mut *(data as *mut Vec<String>) };
            let name = string_from_cstr(name);
            if !name.is_empty() {
                data.push(name);
            }
            0
        }
        let mut data = Vec::new();
        let data_ptr: *mut c_void = &mut data as *mut _ as *mut _;
        h5lock!(H5Piterate(self.id(), ptr::null_mut(), Some(callback), data_ptr));
        data
    }
pub fn properties ( & self ) -> Vec < String > { extern " " fn callback ( _ : hid_t , name : * const c_char , data : * mut c_void ) -> herr_t { let data = unsafe { & mut * ( data as * mut Vec < String > ) } ; let name = string_from_cstr ( name ) ; if ! name . is_empty ( ) { data . push ( name ) ; } 0 } let mut data = Vec :: new ( ) ; let data_ptr : * mut c_void = & mut data as * mut _ as * mut _ ; h5lock ! ( H5Piterate ( self id ( ) ptr null_mut ( ) Some ( callback ) data_ptr ) ) ; data }
Iterates over properties in the property list, returning their names.
Iterates over properties in the property list returning their names .
&self
&self