INNER CODE UNIT · C++
skip_len
fbreitwieser/krakenuniq · src/db_sort.cpp:57
uint64_t skip_len = input_db->header_size();
char *header = new char[ skip_len ];
memcpy(header, input_db_file.ptr(), skip_len);
delete input_db;
// No longer legit for traversal, but allows access to KDB functions
input_db = new KrakenDB(header);
input_db_file.close_file(); // Stop using memory-mapped file
cerr << "db_sort: Sorting ...";
char *data = new char[ key_ct * (Key_len + val_len) ];
// Populate data w/ pairs from DB and sort bins in parallel
bin_and_sort_data(*input_db, data, db_index);
cerr << "db_sort: Sorting complete - writing database to disk ..." << endl;
ofstream output_file(Output_DB_filename.c_str(), std::ofstream::binary);
output_file.write(header, skip_len);
output_file.write(data, key_ct * (Key_len + val_len));