LocARNA-1.9.2
|
00001 #ifndef LOCARNA_ALIGNER_RESTRICTION 00002 #define LOCARNA_ALIGNER_RESTRICTION 00003 00004 #ifdef HAVE_CONFIG_H 00005 #include <config.h> 00006 #endif 00007 00008 #include <iostream> 00009 00010 namespace LocARNA { 00011 00026 class AlignerRestriction { 00027 private: 00028 int startA_; 00029 int startB_; 00030 int endA_; 00031 int endB_; 00032 public: 00041 AlignerRestriction(int startA, int startB, int endA, int endB) 00042 : startA_(startA), startB_(startB), endA_(endA), endB_(endB) {} 00043 00049 size_t 00050 startA() const { 00051 return startA_; 00052 } 00053 00059 size_t 00060 endA() const { 00061 return endA_; 00062 } 00063 00069 size_t 00070 startB() const { 00071 return startB_; 00072 } 00073 00079 size_t 00080 endB() const { 00081 return endB_; 00082 } 00083 00089 void 00090 set_startA(size_t p) { 00091 startA_ = p; 00092 } 00093 00099 void 00100 set_endA(size_t p) { 00101 endA_ = p; 00102 } 00103 00109 void 00110 set_startB(size_t p) { 00111 startB_ = p; 00112 } 00113 00119 void 00120 set_endB(size_t p) { 00121 endB_ = p; 00122 } 00123 }; 00124 00134 inline std::ostream & 00135 operator<<(std::ostream &out, const AlignerRestriction &r) { 00136 return out << r.startA() << " " << r.startB() << " " << r.endA() << " " 00137 << r.endB(); 00138 } 00139 } 00140 00141 #endif