mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
Added template deduction guides for array and array_view
This commit is contained in:
parent
df5dee6609
commit
14d1b96c64
@ -38,7 +38,7 @@ SOFTWARE.
|
||||
///\ingroup utilities
|
||||
|
||||
#define ETL_VERSION_MAJOR 18
|
||||
#define ETL_VERSION_MINOR 13
|
||||
#define ETL_VERSION_MINOR 14
|
||||
#define ETL_VERSION_PATCH 0
|
||||
#define ETL_VERSION ETL_STRINGIFY(ETL_VERSION_MAJOR) "." ETL_STRINGIFY(ETL_VERSION_MINOR) "." ETL_STRINGIFY(ETL_VERSION_PATCH)
|
||||
#define ETL_VERSION_W ETL_STRINGIFY(ETL_VERSION_MAJOR) L"." ETL_STRINGIFY(ETL_VERSION_MINOR) L"." ETL_STRINGIFY(ETL_VERSION_PATCH)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Embedded Template Library",
|
||||
"version": "18.13.0",
|
||||
"version": "18.14.0",
|
||||
"authors": {
|
||||
"name": "John Wellbelove",
|
||||
"email": "john.wellbelove@etlcpp.com"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
name=Embedded Template Library
|
||||
version=18.13.0
|
||||
version=18.14.0
|
||||
author= John Wellbelove <john.wellbelove@etlcpp.com>
|
||||
maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
|
||||
license=MIT
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
===============================================================================
|
||||
18.14.0
|
||||
Added template deduction guides for array and array_view
|
||||
|
||||
===============================================================================
|
||||
18.13.0
|
||||
Added a line coordinate generator using the Bresenham algorithm.
|
||||
|
||||
@ -57,6 +57,16 @@ namespace
|
||||
CHECK_EQUAL(data.max_size(), SIZE);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_cpp17_deduced_constructor)
|
||||
{
|
||||
etl::array data{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
Data compare = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
|
||||
bool isEqual = std::equal(data.begin(), data.end(), compare.begin());
|
||||
CHECK(isEqual);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_assignment)
|
||||
{
|
||||
|
||||
@ -247,6 +247,37 @@ namespace
|
||||
CHECK(isEqual);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_cpp17_dedused_constructor)
|
||||
{
|
||||
etl::array data{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
|
||||
etl::array_view view1{ data };
|
||||
etl::array_view view2{ data.begin(), data.end() };
|
||||
etl::array_view view3{ data.begin(), data.size() };
|
||||
etl::array_view view4{ view1 };
|
||||
|
||||
int c_array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
etl::array_view view5{ c_array };
|
||||
|
||||
bool isEqual = false;
|
||||
|
||||
isEqual = std::equal(view1.begin(), view1.end(), data.begin());
|
||||
CHECK(isEqual);
|
||||
|
||||
isEqual = std::equal(view2.begin(), view2.end(), data.begin());
|
||||
CHECK(isEqual);
|
||||
|
||||
isEqual = std::equal(view3.begin(), view3.end(), data.begin());
|
||||
CHECK(isEqual);
|
||||
|
||||
isEqual = std::equal(view4.begin(), view4.end(), data.begin());
|
||||
CHECK(isEqual);
|
||||
|
||||
isEqual = std::equal(view5.begin(), view5.end(), c_array);
|
||||
CHECK(isEqual);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_constructor_range)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user