25#ifndef _PEPTIDEID_HPP_
26#define _PEPTIDEID_HPP_
30#include <boost/shared_ptr.hpp>
31#include <boost/iterator/iterator_facade.hpp>
53 Location(std::string nativeID,
double retentionTimeSec,
double mz)
54 : nativeID(nativeID), mz(mz), retentionTimeSec(retentionTimeSec)
69 : nativeID(record.nativeID),
70 sequence(record.sequence),
71 protein_descr(record.protein_descr),
73 retentionTimeSec(record.retentionTimeSec),
74 normalizedScore(record.normalizedScore)
84 virtual bool equal(
const boost::shared_ptr<IteratorInternal>& li)
const = 0;
91 class Iterator :
public boost::iterator_facade<Iterator,
92 const PeptideID::Record,
93 boost::forward_traversal_tag>
98 Iterator(boost::shared_ptr<PeptideID::IteratorInternal> pimpl)
103 friend class boost::iterator_core_access;
109 return pimpl->equal(li.
pimpl);
114 return pimpl->dereference();
117 boost::shared_ptr<PeptideID::IteratorInternal>
pimpl;
Iterator(boost::shared_ptr< PeptideID::IteratorInternal > pimpl)
boost::shared_ptr< PeptideID::IteratorInternal > pimpl
const PeptideID::Record & dereference() const
bool equal(const PeptideID::Iterator &li) const
Iterator(const Iterator &it)
This is an interface for classes that allow access to data sources of identified peptides.
virtual Record record(const Location &location) const =0
virtual Iterator end() const =0
virtual Iterator begin() const =0
bool operator()(const PeptideID::Location &a, const PeptideID::Location &b) const
virtual bool equal(const boost::shared_ptr< IteratorInternal > &li) const =0
virtual const PeptideID::Record & dereference() const =0
virtual void increment()=0
Location(std::string nativeID, double retentionTimeSec, double mz)
std::string protein_descr
Record(const Record &record)
bool operator()(const PeptideID::Record &a, const PeptideID::Record &b) const