本文整理汇总了C++中FName::GetComparisonIndexFast方法的典型用法代码示例。如果您正苦于以下问题:C++ FName::GetComparisonIndexFast方法的具体用法?C++ FName::GetComparisonIndexFast怎么用?C++ FName::GetComparisonIndexFast使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FName
的用法示例。
在下文中一共展示了FName::GetComparisonIndexFast方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Compare
/**
* Compares name to passed in one. Sort is alphabetical ascending.
*
* @param Other Name to compare this against
* @return < 0 is this < Other, 0 if this == Other, > 0 if this > Other
*/
int32 FName::Compare( const FName& Other ) const
{
// Names match, check whether numbers match.
if( GetComparisonIndexFast() == Other.GetComparisonIndexFast() )
{
return GetNumber() - Other.GetNumber();
}
// Names don't match. This means we don't even need to check numbers.
else
{
TNameEntryArray& Names = GetNames();
const FNameEntry* const ThisEntry = GetComparisonNameEntry();
const FNameEntry* const OtherEntry = Other.GetComparisonNameEntry();
// Ansi/Wide mismatch, convert to wide
if( ThisEntry->IsWide() != OtherEntry->IsWide() )
{
return FCStringWide::Stricmp( ThisEntry->IsWide() ? ThisEntry->GetWideName() : StringCast<WIDECHAR>(ThisEntry->GetAnsiName()).Get(),
OtherEntry->IsWide() ? OtherEntry->GetWideName() : StringCast<WIDECHAR>(OtherEntry->GetAnsiName()).Get() );
}
// Both are wide.
else if( ThisEntry->IsWide() )
{
return FCStringWide::Stricmp( ThisEntry->GetWideName(), OtherEntry->GetWideName() );
}
// Both are ansi.
else
{
return FCStringAnsi::Stricmp( ThisEntry->GetAnsiName(), OtherEntry->GetAnsiName() );
}
}
}