23#ifndef _PROTEINLIST_FILTER_HPP_
24#define _PROTEINLIST_FILTER_HPP_
30#include "boost/logic/tribool.hpp"
54 virtual bool done()
const {
return false;}
63 virtual size_t size()
const;
97 mutable std::set<std::string>
idSet_;
ProteinList filter, for creating Protein sub-lists.
virtual proteome::ProteinPtr protein(size_t index, bool getSequence=true) const
ProteinList_Filter(const proteome::ProteinListPtr original, const Predicate &predicate)
ProteinList_Filter & operator=(ProteinList_Filter &)
ProteinList_Filter(ProteinList_Filter &)
boost::shared_ptr< Impl > impl_
virtual size_t size() const
virtual boost::logic::tribool accept(const proteome::Protein &protein) const
return true iff Protein is accepted
std::set< std::string > idSet_
virtual bool done() const
return true iff done accepting proteins; this allows early termination of the iteration through the o...
ProteinList_FilterPredicate_IdSet(const std::set< std::string > &idSet)
ProteinList_FilterPredicate_IdSet(const InputIterator &begin, const InputIterator &end)
ProteinList_FilterPredicate_IndexSet(const util::IntegerSet &indexSet)
virtual bool done() const
return true iff done accepting proteins; this allows early termination of the iteration through the o...
virtual boost::logic::tribool accept(const proteome::Protein &protein) const
return true iff Protein is accepted
util::IntegerSet indexSet_
Inheritable pass-through implementation for wrapping a ProteinList.
a virtual container of integers, accessible via an iterator interface, stored as union of intervals
boost::shared_ptr< Protein > ProteinPtr
boost::shared_ptr< ProteinList > ProteinListPtr
client-implemented filter predicate – called during construction of ProteinList_Filter to create the ...
virtual boost::logic::tribool accept(const proteome::Protein &protein) const
return true iff Protein is accepted
virtual bool done() const
return true iff done accepting proteins; this allows early termination of the iteration through the o...