GT_INLINE void gt_sam_header_delete(gt_sam_headers* const sam_headers) { GT_SAM_HEADERS_CHECK(sam_headers); // Clear gt_sam_header_clear(sam_headers); // Delete gt_string_delete(sam_headers->header); gt_vector_delete(sam_headers->read_group); gt_vector_delete(sam_headers->program); gt_vector_delete(sam_headers->comments); }
GT_INLINE void gt_sam_header_delete(gt_sam_headers* const sam_headers) { GT_SAM_HEADERS_CHECK(sam_headers); // Clear gt_sam_header_clear(sam_headers); // Delete gt_vector_delete(sam_headers->read_group); gt_vector_delete(sam_headers->program); gt_vector_delete(sam_headers->sequence_dictionary); gt_vector_delete(sam_headers->comments); if(sam_headers->sequence_dictionary_sn_hash) gt_shash_delete(sam_headers->sequence_dictionary_sn_hash,true); if(sam_headers->read_group_id_hash) gt_shash_delete(sam_headers->read_group_id_hash,true); if(sam_headers->program_id_hash) gt_shash_delete(sam_headers->program_id_hash,true); }
GT_INLINE void gt_segmented_sequence_delete(gt_segmented_sequence* const sequence) { GT_SEGMENTED_SEQ_CHECK(sequence); GT_VECTOR_ITERATE(sequence->blocks,block,block_num,gt_compact_dna_string*) { if (*block) gt_cdna_string_delete(*block); } gt_vector_delete(sequence->blocks); gt_string_delete(sequence->seq_name); gt_free(sequence); }
gt_status gt_buffered_input_file_close(gt_buffered_input_file* const buffered_input_file) { GT_BUFFERED_INPUT_FILE_CHECK(buffered_input_file); gt_vector_delete(buffered_input_file->block_buffer); free(buffered_input_file); return GT_BMI_OK; }