CResTypeInfo: Make use of std::move in the constructor

Allows calling code to eliminate copies altogether from occurring.
This commit is contained in:
Lioncash 2020-06-18 06:30:18 -04:00
parent 8f70b20312
commit 2b7c4941e5
2 changed files with 7 additions and 7 deletions

View File

@ -4,15 +4,15 @@
std::unordered_map<EResourceType, std::unique_ptr<CResTypeInfo>> CResTypeInfo::smTypeMap;
CResTypeInfo::CResTypeInfo(EResourceType Type, const TString& rkTypeName, const TString& rkRetroExtension)
: mType(Type)
, mTypeName(rkTypeName)
, mRetroExtension(rkRetroExtension)
CResTypeInfo::CResTypeInfo(EResourceType type, TString typeName, TString retroExtension)
: mType(type)
, mTypeName(std::move(typeName))
, mRetroExtension(std::move(retroExtension))
{
#if !PUBLIC_RELEASE
ASSERT(smTypeMap.find(Type) == smTypeMap.end());
ASSERT(smTypeMap.find(type) == smTypeMap.cend());
#endif
smTypeMap.insert_or_assign(Type, std::unique_ptr<CResTypeInfo>(this));
smTypeMap.insert_or_assign(type, std::unique_ptr<CResTypeInfo>(this));
}
bool CResTypeInfo::IsInGame(EGame Game) const

View File

@ -28,7 +28,7 @@ class CResTypeInfo
static std::unordered_map<EResourceType, std::unique_ptr<CResTypeInfo>> smTypeMap;
// Private Methods
CResTypeInfo(EResourceType Type, const TString& rkTypeName, const TString& rkRetroExtension);
CResTypeInfo(EResourceType type, TString typeName, TString retroExtension);
~CResTypeInfo() = default;
friend struct std::default_delete<CResTypeInfo>;