mirror of
https://github.com/ETLCPP/etl.git
synced 2026-10-28 18:07:10 +08:00
emplace_front, emplace_back updates
This commit is contained in:
parent
a507f8f2a6
commit
a398207e3d
@ -354,9 +354,11 @@ namespace etl
|
||||
/// If asserts or exceptions are enabled, emits vector_full if the vector is already full.
|
||||
///\param value The value to add.
|
||||
//*********************************************************************
|
||||
void emplace_back(parameter_t value)
|
||||
reference emplace_back(parameter_t value)
|
||||
{
|
||||
base_t::emplace_back(value);
|
||||
|
||||
return back();
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
|
||||
@ -634,38 +634,6 @@ namespace
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back)
|
||||
{
|
||||
Compare_Data compare_data;
|
||||
Data data;
|
||||
|
||||
for (int i = 0; i < int(SIZE); ++i)
|
||||
{
|
||||
compare_data.emplace_back(i);
|
||||
}
|
||||
|
||||
for (int i = 0; i < int(SIZE); ++i)
|
||||
{
|
||||
data.emplace_back(i);
|
||||
}
|
||||
|
||||
CHECK_EQUAL(compare_data.size(), data.size());
|
||||
|
||||
bool is_equal = std::equal(data.begin(),
|
||||
data.end(),
|
||||
compare_data.begin());
|
||||
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back_return)
|
||||
{
|
||||
Data data;
|
||||
CHECK_EQUAL(42, data.emplace_back(42));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_push_back_literal)
|
||||
{
|
||||
@ -704,6 +672,38 @@ namespace
|
||||
CHECK_THROW(data.push_back(SIZE), etl::vector_full);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back)
|
||||
{
|
||||
Compare_Data compare_data;
|
||||
Data data;
|
||||
|
||||
for (int i = 0; i < int(SIZE); ++i)
|
||||
{
|
||||
compare_data.emplace_back(i);
|
||||
}
|
||||
|
||||
for (int i = 0; i < int(SIZE); ++i)
|
||||
{
|
||||
data.emplace_back(i);
|
||||
}
|
||||
|
||||
CHECK_EQUAL(compare_data.size(), data.size());
|
||||
|
||||
bool is_equal = std::equal(data.begin(),
|
||||
data.end(),
|
||||
compare_data.begin());
|
||||
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back_return)
|
||||
{
|
||||
Data data;
|
||||
CHECK_EQUAL(42, data.emplace_back(42));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_pop_back)
|
||||
{
|
||||
|
||||
@ -685,6 +685,38 @@ namespace
|
||||
CHECK_THROW(data.push_back(SIZE), etl::vector_full);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back)
|
||||
{
|
||||
Compare_Data compare_data;
|
||||
Data data(buffer1, SIZE);
|
||||
|
||||
for (int i = 0; i < int(SIZE); ++i)
|
||||
{
|
||||
compare_data.emplace_back(i);
|
||||
}
|
||||
|
||||
for (int i = 0; i < int(SIZE); ++i)
|
||||
{
|
||||
data.emplace_back(i);
|
||||
}
|
||||
|
||||
CHECK_EQUAL(compare_data.size(), data.size());
|
||||
|
||||
bool is_equal = std::equal(data.begin(),
|
||||
data.end(),
|
||||
compare_data.begin());
|
||||
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back_return)
|
||||
{
|
||||
Data data(buffer1, SIZE);
|
||||
CHECK_EQUAL(42, data.emplace_back(42));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_pop_back)
|
||||
{
|
||||
|
||||
@ -662,29 +662,6 @@ namespace
|
||||
CHECK_THROW(data.push_back(NDC("Z")), etl::vector_full);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back)
|
||||
{
|
||||
CompareDataNDC compare_data;
|
||||
DataNDC data;
|
||||
|
||||
for (size_t i = 0UL; i < SIZE; ++i)
|
||||
{
|
||||
std::string value(" ");
|
||||
value[0] = char('A' + i);
|
||||
compare_data.emplace_back(value, i);
|
||||
data.emplace_back(value, i);
|
||||
}
|
||||
|
||||
CHECK_EQUAL(compare_data.size(), data.size());
|
||||
|
||||
bool is_equal = std::equal(data.begin(),
|
||||
data.end(),
|
||||
compare_data.begin());
|
||||
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_push_back_unique_ptr)
|
||||
{
|
||||
@ -711,6 +688,37 @@ namespace
|
||||
CHECK_EQUAL(4, *data[3]);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back)
|
||||
{
|
||||
CompareDataNDC compare_data;
|
||||
DataNDC data;
|
||||
|
||||
for (size_t i = 0UL; i < SIZE; ++i)
|
||||
{
|
||||
std::string value(" ");
|
||||
value[0] = char('A' + i);
|
||||
compare_data.emplace_back(value, i);
|
||||
data.emplace_back(value, i);
|
||||
}
|
||||
|
||||
CHECK_EQUAL(compare_data.size(), data.size());
|
||||
|
||||
bool is_equal = std::equal(data.begin(),
|
||||
data.end(),
|
||||
compare_data.begin());
|
||||
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back_return)
|
||||
{
|
||||
DataNDC data;
|
||||
|
||||
CHECK_EQUAL(NDC("A", 42), data.emplace_back("A", 42));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_insert_int)
|
||||
{
|
||||
|
||||
@ -1057,6 +1057,15 @@ namespace
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back_return)
|
||||
{
|
||||
Data data;
|
||||
int d = 42;
|
||||
|
||||
CHECK_EQUAL(&d, data.emplace_back(&d));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_pop_back)
|
||||
{
|
||||
|
||||
@ -1043,6 +1043,15 @@ namespace
|
||||
CHECK(is_equal);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_emplace_back_return)
|
||||
{
|
||||
Data data(buffer1, SIZE);
|
||||
int d = 42;
|
||||
|
||||
CHECK_EQUAL(&d, data.emplace_back(&d));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST_FIXTURE(SetupFixture, test_pop_back)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user