System: Enable and use c++20

Enable c++20 in top level cmake. Keep c++17 for GrpcInterface, as the protoc tool does not work with c++20.
Several code adjustments to fix compiler issues.
This commit is contained in:
Magne Sjaastad
2023-01-19 08:20:07 +01:00
parent 712bad97bd
commit abc9e82ff5
17 changed files with 40 additions and 20 deletions

View File

@@ -526,7 +526,7 @@ TEST( BaseTest, PdmPtrField )
// Operator ->
ihd1->m_ptrField->m_texts = "Hei PtrField";
EXPECT_TRUE( ihd1->m_ptrField->m_texts == "Hei PtrField" );
EXPECT_TRUE( ihd1->m_ptrField->m_texts() == "Hei PtrField" );
// Referencing system
{

View File

@@ -840,12 +840,12 @@ TEST( BaseTest, PdmObjectGroupCopyOfTypedObjects )
std::vector<caf::PdmPointer<SimpleObj>> simpleObjList;
og.createCopyByType( &simpleObjList, caf::PdmDefaultObjectFactory::instance() );
EXPECT_EQ( size_t( 3 ), simpleObjList.size() );
EXPECT_EQ( 1000, simpleObjList[0]->m_position );
EXPECT_EQ( 1000, simpleObjList[0]->m_position() );
EXPECT_EQ( size_t( 1 ), simpleObjList[0]->m_numbers.v().size() );
EXPECT_EQ( 10, simpleObjList[0]->m_numbers.v()[0] );
EXPECT_EQ( 2000, simpleObjList[1]->m_position );
EXPECT_EQ( 3000, simpleObjList[2]->m_position );
EXPECT_EQ( 2000, simpleObjList[1]->m_position() );
EXPECT_EQ( 3000, simpleObjList[2]->m_position() );
std::vector<caf::PdmPointer<InheritedDemoObj>> inheritObjList;
og.createCopyByType( &inheritObjList, caf::PdmDefaultObjectFactory::instance() );