Skip to content
Snippets Groups Projects
Commit 4bcc1de6 authored by juergen's avatar juergen
Browse files

seq:preparing export for reversed iterator+bugfix;fixing bug in alignment...

seq:preparing export for reversed iterator+bugfix;fixing bug in alignment where last col would not be accessible

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2208 5a81b35b-ba03-0410-adc8-b2c5c5119f08
parent 74a4dbaa
No related branches found
No related tags found
No related merge requests found
...@@ -102,8 +102,9 @@ struct RevRegionRangeIter { ...@@ -102,8 +102,9 @@ struct RevRegionRangeIter {
if (b_==e_) { if (b_==e_) {
boost::python::objects::stop_iteration_error(); boost::python::objects::stop_iteration_error();
} }
AlignedColumn col=*e_;
--e_; --e_;
AlignedColumn col=*e_;
return col; return col;
} }
private: private:
...@@ -142,7 +143,7 @@ RegionRangeIter iter_range2(AlignedRegion& aln_region) ...@@ -142,7 +143,7 @@ RegionRangeIter iter_range2(AlignedRegion& aln_region)
return RegionRangeIter(aln_region.begin(), aln_region.end()); return RegionRangeIter(aln_region.begin(), aln_region.end());
} }
RevRegionRangeIter iter_range3(AlignedRegion& aln_region) RevRegionRangeIter iter_range_rev(AlignedRegion& aln_region)
{ {
return RevRegionRangeIter(aln_region.begin(), aln_region.end()); return RevRegionRangeIter(aln_region.begin(), aln_region.end());
} }
...@@ -274,7 +275,7 @@ void export_sequence() ...@@ -274,7 +275,7 @@ void export_sequence()
.def("__getitem__", &AlignedRegion::operator[]) .def("__getitem__", &AlignedRegion::operator[])
.def("__len__", &AlignedRegion::GetLength) .def("__len__", &AlignedRegion::GetLength)
.def("__iter__", iter_range2) .def("__iter__", iter_range2)
//~ .def("__iter__", iter_range3) //~ .def("__reversed__", iter_range_rev)
.add_property("start", &AlignedRegion::GetStart) .add_property("start", &AlignedRegion::GetStart)
.add_property("end", &AlignedRegion::GetEnd) .add_property("end", &AlignedRegion::GetEnd)
; ;
......
...@@ -203,7 +203,7 @@ void AlignmentHandle::ShiftRegion(int start, int end, int amount, ...@@ -203,7 +203,7 @@ void AlignmentHandle::ShiftRegion(int start, int end, int amount,
AlignedRegion AlignmentHandle::MakeRegion(int start, int n, int master) const AlignedRegion AlignmentHandle::MakeRegion(int start, int n, int master) const
{ {
this->CheckValidity(); this->CheckValidity();
if(start<0 || n < 0 || start >= n || start + n >= this->GetLength()){ if(start<0 || n < 0 || start >= n || start + n > this->GetLength()){
throw std::out_of_range("Region not valid"); throw std::out_of_range("Region not valid");
} }
return AlignedRegion(*this, start, start+n, master); return AlignedRegion(*this, start, start+n, master);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment