#include <boost/shared_ptr.hpp>
#include "alg/sequence.hpp"
+// FIXME: Deprecate! SeqSpan and/or Sequence should replace sequence location
//! convenience structure for holding selected track segments
class SequenceLocation {
public:
- SequenceLocation(boost::shared_ptr<Sequence> s, int l, int c);
- SequenceLocation(const Sequence& s, int l, int c);
+ typedef size_t size_type;
+
+ SequenceLocation(boost::shared_ptr<Sequence> s, int l, int r);
+ SequenceLocation(const Sequence& s, int l, int r);
SequenceLocation(const SequenceLocation& );
SequenceLocation& operator=(const SequenceLocation&);
Sequence getSelectedSequence() const;
void setLeft(int l);
int getLeft() const;
- void setCount(int c);
- int getCount() const ;
+ void setCount(size_type c);
+ size_type getCount() const;
+ //! set one past the right-most base
void setRight(int r);
int getRight() const;
+ //! return total length of region (alias for getCount())
+ size_type size() const;
private:
boost::shared_ptr<Sequence> sequence;
int left;
- int count;
+ int right;
};
#endif