28 #include <boost/thread/mutex.hpp>
29 #include <boost/container/flat_map.hpp>
31 #ifdef PWIZ_READER_ABI
32 #include "pwiz_aux/msrc/utility/vendor_api/ABI/WiffFile.hpp"
34 #include <boost/thread.hpp>
35 using namespace pwiz::vendor_api::ABI;
36 #endif // PWIZ_READER_ABI
47 virtual size_t size()
const;
49 virtual size_t find(
const std::string&
id)
const;
50 virtual SpectrumPtr spectrum(
size_t index,
bool getBinaryData)
const;
55 #ifdef PWIZ_READER_ABI
57 const ExperimentsMap& experimentsMap,
int sample,
63 WiffFilePtr wifffile_;
65 ExperimentsMap experimentsMap_;
67 mutable boost::mutex readMutex;
78 ExperimentPtr experiment;
82 mutable std::vector<IndexEntry> index_;
83 mutable std::map<std::string, size_t> idToIndexMap_;
86 mutable boost::mutex spectrum_mutex;
87 mutable size_t spectrumLastIndex_;
90 void createIndex()
const;
91 #endif // PWIZ_READER_ABI