halapi
hierarchichalalignmentformatapi
 All Classes Namespaces Functions Pages
halBottomSegment.h
1 /*
2  * Copyright (C) 2012 by Glenn Hickey (hickey@soe.ucsc.edu)
3  *
4  * Released under the MIT license, see LICENSE.txt
5  */
6 
7 #ifndef _HALBOTTOMSEGMENT_H
8 #define _HALBOTTOMSEGMENT_H
9 
10 #include "halDefs.h"
11 #include "halSegment.h"
12 
13 namespace hal {
14 
18 class BottomSegment : virtual public Segment
19 {
20 public:
21 
24  virtual hal_size_t getNumChildren() const = 0;
25 
28  virtual hal_index_t getChildIndex(hal_size_t i) const = 0;
29 
32  virtual hal_index_t getChildIndexG(const Genome* childGenome) const = 0;
33 
36  virtual bool hasChild(hal_size_t child) const = 0;
37 
40  virtual bool hasChildG(const Genome* childGenome) const = 0;
41 
45  virtual void setChildIndex(hal_size_t i, hal_index_t childIndex) = 0;
46 
50  virtual bool getChildReversed(hal_size_t i) const = 0;
51 
56  virtual void setChildReversed(hal_size_t child, bool isReversed) = 0;
57 
60  virtual hal_index_t getTopParseIndex() const = 0;
61 
65  virtual void setTopParseIndex(hal_index_t parseIndex) = 0;
66 
69  virtual hal_offset_t getTopParseOffset() const = 0;
70 
74  virtual bool hasParseUp() const = 0;
75 
80  virtual hal_index_t getLeftChildIndex(hal_size_t i) const = 0;
81 
86  virtual hal_index_t getRightChildIndex(hal_size_t i) const = 0;
87 
88 protected:
89  friend class counted_ptr<BottomSegment>;
90  friend class counted_ptr<const BottomSegment>;
91  virtual ~BottomSegment() = 0;
92 };
93 
94 inline BottomSegment::~BottomSegment() {}
95 }
96 #endif
Definition: halSegment.h:21
Definition: halGenome.h:24
virtual bool hasParseUp() const =0
Definition: halBottomSegment.h:18
virtual hal_index_t getTopParseIndex() const =0
virtual hal_offset_t getTopParseOffset() const =0
virtual hal_index_t getChildIndexG(const Genome *childGenome) const =0
virtual hal_index_t getChildIndex(hal_size_t i) const =0
virtual void setChildIndex(hal_size_t i, hal_index_t childIndex)=0
virtual hal_index_t getRightChildIndex(hal_size_t i) const =0
virtual bool hasChild(hal_size_t child) const =0
virtual bool hasChildG(const Genome *childGenome) const =0
virtual hal_index_t getLeftChildIndex(hal_size_t i) const =0
virtual hal_size_t getNumChildren() const =0
virtual bool getChildReversed(hal_size_t i) const =0
virtual void setChildReversed(hal_size_t child, bool isReversed)=0
virtual void setTopParseIndex(hal_index_t parseIndex)=0