indirect_vector updates from sanitizer results

This commit is contained in:
John Wellbelove 2022-05-13 14:43:36 +01:00
parent 7d7a9cf15b
commit 7c3d8490c4
3 changed files with 15 additions and 14 deletions

View File

@ -454,13 +454,7 @@ namespace etl
//*********************************************************************
iterator begin()
{
etl::ivector<T*>& ivr = lookup;
bool e = ivr.empty();
typename etl::ivector<T*>::iterator itr = ivr.begin();
return iterator(itr);
return iterator(lookup.begin());
}
//*********************************************************************
@ -1214,7 +1208,6 @@ namespace etl
#endif
~iindirect_vector()
{
initialise();
}
protected:

View File

@ -409,17 +409,21 @@ namespace
const DataDC constData(10);
CHECK_EQUAL(&data[0], &(*data.begin()));
CHECK_EQUAL(&data[0], &(*data.cbegin()));
CHECK_EQUAL(&constData[0], &(*constData.begin()));
CHECK_EQUAL(&constData[0], &(*constData.cbegin()));
}
//*************************************************************************
TEST_FIXTURE(SetupFixture, test_end)
{
DataDC data(10);
const DataDC constData(10);
DataDC data(10U);
const DataDC constData(10U);
CHECK_EQUAL(&data[10], &(*data.end()));
CHECK_EQUAL(&constData[10], &(constData.end()));
CHECK(std::distance(data.begin(), data.end()) == 10U);
CHECK(std::distance(data.cbegin(), data.cend()) == 10U);
CHECK(std::distance(constData.begin(), constData.end()) == 10U);
CHECK(std::distance(constData.cbegin(), constData.cend()) == 10U);
}
//*************************************************************************

View File

@ -485,7 +485,9 @@ namespace
const DataDC constData(10, lookup2, pool2);
CHECK_EQUAL(&data[0], &(*data.begin()));
CHECK_EQUAL(&data[0], &(*data.cbegin()));
CHECK_EQUAL(&constData[0], &(*constData.begin()));
CHECK_EQUAL(&constData[0], &(*constData.cbegin()));
}
//*************************************************************************
@ -500,8 +502,10 @@ namespace
DataDC data(10, lookup1, pool1);
const DataDC constData(10, lookup2, pool2);
CHECK_EQUAL(&data[10], &(*data.end()));
CHECK_EQUAL(&constData[10], &(constData.end()));
CHECK(std::distance(data.begin(), data.end()) == 10U);
CHECK(std::distance(data.cbegin(), data.cend()) == 10U);
CHECK(std::distance(constData.begin(), constData.end()) == 10U);
CHECK(std::distance(constData.cbegin(), constData.cend()) == 10U);
}
//*************************************************************************