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)
 
   83         virtual void increment() = 0;
 
   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;
 
  124     virtual Iterator begin() 
const = 0;
 
  126     virtual Iterator end() 
const = 0;
 
  149 #endif // _PEPTIDEID_HPP_