Implemented C++23 deleted nullptr_t constructor/assignment for AZStd string classes (#4158)

* Added string and string_view class constructor overloads which is deleted that prevents initializing them from a nullptr or an integer type

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed locations where string and string_view were initialized with
nullptr

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fix IArchive::IsInstalledToHDD signature

Updated calls to ConvertAbsolutePathToAliasedPath to use an
list initialization instead of nullptr

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
This commit is contained in:
lumberyard-employee-dm
2021-09-16 12:50:18 -05:00
committed by GitHub
parent f1f35a0ba8
commit 58c227ceb1
18 changed files with 44 additions and 46 deletions
@@ -362,7 +362,7 @@ namespace UnitTest
// Test specific construction case that was failing.
// The constructor calls Name::SetName() which does a move assignment
// Name& Name::operator=(Name&& rhs) was leaving m_view pointing to the m_data in a temporary Name object.
AZ::Name emptyName(AZStd::string_view(nullptr));
AZ::Name emptyName(AZStd::string_view{});
EXPECT_TRUE(emptyName.IsEmpty());
EXPECT_EQ(0, emptyName.GetStringView().data()[0]);
}