LocARNA-2.0.0
aligner_restriction.hh
1 #ifndef LOCARNA_ALIGNER_RESTRICTION
2 #define LOCARNA_ALIGNER_RESTRICTION
3 
4 #ifdef HAVE_CONFIG_H
5 #include <config.h>
6 #endif
7 
8 #include <iostream>
9 
10 namespace LocARNA {
11 
27  private:
28  int startA_;
29  int startB_;
30  int endA_;
31  int endB_;
32  public:
42  : startA_(startA), startB_(startB), endA_(endA), endB_(endB) {}
43 
49  size_t
50  startA() const {
51  return startA_;
52  }
53 
59  size_t
60  endA() const {
61  return endA_;
62  }
63 
69  size_t
70  startB() const {
71  return startB_;
72  }
73 
79  size_t
80  endB() const {
81  return endB_;
82  }
83 
89  void
90  set_startA(size_t p) {
91  startA_ = p;
92  }
93 
99  void
100  set_endA(size_t p) {
101  endA_ = p;
102  }
103 
109  void
110  set_startB(size_t p) {
111  startB_ = p;
112  }
113 
119  void
120  set_endB(size_t p) {
121  endB_ = p;
122  }
123  };
124 
134  inline std::ostream &
135  operator<<(std::ostream &out, const AlignerRestriction &r) {
136  return out << r.startA() << " " << r.startB() << " " << r.endA() << " "
137  << r.endB();
138  }
139 }
140 
141 #endif
Restricts range of an alignment in Aligner.
Definition: aligner_restriction.hh:26
size_t startA() const
Definition: aligner_restriction.hh:50
void set_startA(size_t p)
Definition: aligner_restriction.hh:90
size_t startB() const
Definition: aligner_restriction.hh:70
size_t endB() const
Definition: aligner_restriction.hh:80
void set_endB(size_t p)
Definition: aligner_restriction.hh:120
void set_endA(size_t p)
Definition: aligner_restriction.hh:100
void set_startB(size_t p)
Definition: aligner_restriction.hh:110
AlignerRestriction(int startA, int startB, int endA, int endB)
end position in B
Definition: aligner_restriction.hh:41
size_t endA() const
Definition: aligner_restriction.hh:60
Definition: aligner.cc:15
std::ostream & operator<<(std::ostream &out, const AlignerRestriction &r)
Definition: aligner_restriction.hh:135