/** * Gets record from pool, creates a new record if necessary */ bcf1_t* BCFSyncedStreamReader::get_bcf1_from_pool() { if(!pool.empty()) { bcf1_t* v = pool.front(); pool.pop_front(); bcf_clear(v); return v; } else { bcf1_t* v = bcf_init1(); bcf_clear(v); return v; } }
/** * Returns record to pool */ void BCFOrderedReader::store_bcf1_into_pool(bcf1_t* v) { bcf_clear(v); pool.push_back(v); }