#include "Sequence.h" #include struct DeleteObject { template void operator() (const T* ptr) const { delete ptr; } }; Chunk::~Chunk(void) { for_each(m_seqVector.begin(), m_seqVector.end(), DeleteObject()); } void Chunk::add(Sequence* seq, vector::iterator pos) { m_seqVector.insert(pos, 1, seq); } void Chunk::remove(vector::iterator pos) { m_seqVector.erase(pos); } vector::iterator Chunk::getIterator(void) { return m_seqVector.begin(); } void Chunk::accept(SequenceVisitor& visitor) { for(vector::iterator iter = m_seqVector.begin(); iter != m_seqVector.end(); ++iter) (*iter)->accept(visitor); visitor.visit(this); } string& Chunk::getView(void) { return m_view; } void Chunk::setView(string& view) { m_view = view; }