pub unsafe extern "C" fn tsk_individual_table_update_row(
    self_: *mut tsk_individual_table_t,
    index: tsk_id_t,
    flags: tsk_flags_t,
    location: *const f64,
    location_length: tsk_size_t,
    parents: *const tsk_id_t,
    parents_length: tsk_size_t,
    metadata: *const c_char,
    metadata_length: tsk_size_t
) -> c_int
Expand description

@brief Updates the row at the specified index.

@rst Rewrite the row at the specified index in this table to use the specified values. Copies of the location, parents and metadata parameters are taken immediately. See the :ref:table definition <sec_individual_table_definition> for details of the columns in this table.

.. warning:: Because of the way that ragged columns are encoded, this method requires a full rewrite of the internal column memory in worst case, and would therefore be inefficient for bulk updates for such columns. However, if the sizes of all ragged column values are unchanged in the updated row, this method is guaranteed to only update the memory for the row in question. @endrst

@param self A pointer to a tsk_individual_table_t object. @param index The row to update. @param flags The bitwise flags for the individual. @param location A pointer to a double array representing the spatial location of the new individual. Can be NULL if location_length is 0. @param location_length The number of dimensions in the locations position. Note this the number of elements in the corresponding double array not the number of bytes. @param parents A pointer to a tsk_id array representing the parents of the new individual. Can be NULL if parents_length is 0. @param parents_length The number of parents. Note this the number of elements in the corresponding tsk_id array not the number of bytes. @param metadata The metadata to be associated with the new individual. This is a pointer to arbitrary memory. Can be NULL if metadata_length is 0. @param metadata_length The size of the metadata array in bytes. @return Return 0 on success or a negative value on failure.