1 #ifndef _SEQUENCE_LOCATION_H_
2 #define _SEQUENCE_LOCATION_H_
4 #include <boost/shared_ptr.hpp>
5 #include "alg/sequence.hpp"
7 // FIXME: Deprecate! SeqSpan and/or Sequence should replace sequence location
8 //! convenience structure for holding selected track segments
9 class SequenceLocation {
11 typedef size_t size_type;
13 SequenceLocation(boost::shared_ptr<Sequence> s, int l, int r);
14 SequenceLocation(const Sequence& s, int l, int r);
15 SequenceLocation(const SequenceLocation& );
16 SequenceLocation& operator=(const SequenceLocation&);
18 //! get the sequence we're selecting from
19 const Sequence& getSequence() const;
20 //! return the selected subsequence
21 Sequence getSelectedSequence() const;
24 void setCount(size_type c);
25 size_type getCount() const;
26 //! set one past the right-most base
30 //! return total length of region (alias for getCount())
31 size_type size() const;
33 boost::shared_ptr<Sequence> sequence;