LocARNA-1.9.2
src/LocARNA/aligner_restriction.hh
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends