Fix off-by-one since back() gives last value inside [begin,end)

This commit is contained in:
Patrick Niklaus 2014-06-09 12:19:45 +02:00
parent 50bf7694c2
commit 1d62ed028e
2 changed files with 4 additions and 4 deletions

View File

@ -386,9 +386,9 @@ template <class EdgeDataT> class InternalDataFacade : public BaseDataFacade<Edge
result.clear();
if (range.begin() != range.end())
{
result.resize(range.back() - range.front());
result.resize(range.back() - range.front() + 1);
std::copy(m_names_char_list.begin() + range.front(),
m_names_char_list.begin() + range.back(),
m_names_char_list.begin() + range.back() + 1,
result.begin());
}
}

View File

@ -360,9 +360,9 @@ template <class EdgeDataT> class SharedDataFacade : public BaseDataFacade<EdgeDa
result.clear();
if (range.begin() != range.end())
{
result.resize(range.back() - range.front());
result.resize(range.back() - range.front() + 1);
std::copy(m_names_char_list.begin() + range.front(),
m_names_char_list.begin() + range.back(),
m_names_char_list.begin() + range.back() + 1,
result.begin());
}
}