Exemple #1
0
BufferAllocator::ReaderPtr BufferAllocator::create_reader_fast(size_t size) {
  size = (size + 7) & -8;

  init_thread_local<BufferRawTls>(buffer_raw_tls);

  auto buffer_raw = buffer_raw_tls->buffer_raw.get();
  if (buffer_raw == nullptr || buffer_raw->data_size_ - buffer_raw->end_.load(std::memory_order_relaxed) < size) {
    buffer_raw = create_buffer_raw(4096 * 4);
    buffer_raw_tls->buffer_raw = std::unique_ptr<BufferRaw, BufferAllocator::BufferRawDeleter>(buffer_raw);
  }
  buffer_raw->end_.fetch_add(size, std::memory_order_relaxed);
  buffer_raw->ref_cnt_.fetch_add(1, std::memory_order_acq_rel);
  return ReaderPtr(buffer_raw);
}
/// default Reader list
PWIZ_API_DECL DefaultReaderList::DefaultReaderList(bool indexed /*= false*/)
{
    Reader_FASTA::Config fastaConfig;
    fastaConfig.indexed = indexed;
    push_back(ReaderPtr(new Reader_FASTA(fastaConfig)));
}
ReaderPtr Fieldable::readerValue() {
    BOOST_ASSERT(false);
    return ReaderPtr(); // override
}
Exemple #4
0
BufferAllocator::ReaderPtr BufferAllocator::create_reader(const ReaderPtr &raw) {
  raw->ref_cnt_.fetch_add(1, std::memory_order_acq_rel);
  return ReaderPtr(raw.get());
}