CompareInfo

CompareInfo class

Makes culture-sensitive string comparison. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

class CompareInfo : public virtual System::Object

Methods

MethodDescription
virtual int Compare(const String&, const String&) constCompares strings. Not implemented.
virtual int Compare(const String&, const String&, CompareOptions) constCompares strings. Only Ordinal and OrdinalIgnoreCase modes are supported.
virtual int Compare(const String&, int, int, const String&, int, int) constCompares a section of one string with a section of second string. Not implemented.
virtual int Compare(const String&, int, const String&, int, CompareOptions) constCompares the end section of one string with the end section of second string using string comparison methods. Not implemented.
virtual int Compare(const String&, int, const String&, int) constCompares the end section of one string with the end section of second string. Not implemented.
virtual int Compare(const String&, int, int, const String&, int, int, CompareOptions) constCompares a section of one string with a section of second string using string comparison methods. Not implemented.
CompareInfo(const CompareInfo&)RTTI information.
bool Equals(SharedPtr<Object>) override
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
int get_LCID() constGets LCID of the culture associated with comparer.
virtual String get_Name() constGets name of the culture associated with comparer.
SortVersionPtr get_Version() constGets information about sort version.
static CompareInfoPtr GetCompareInfo(int, const SharedPtr<Reflection::Assembly>&)Gets CompareInfo associated with the specified culture and using string comparison methods in the specified assembly.
static CompareInfoPtr GetCompareInfo(const String&, const SharedPtr<Reflection::Assembly>&)Gets CompareInfo associated with the specified culture and using string comparison methods in the specified assembly.
static CompareInfoPtr GetCompareInfo(int)Gets CompareInfo associated with the specified culture.
static CompareInfoPtr GetCompareInfo(const String&)Gets CompareInfo associated with the specified culture.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int GetHashCode(const String&, CompareOptions) constGets string hash code based on specified comparison options.
int GetHashCode() const overrideAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual SortKeyPtr GetSortKey(const String&, CompareOptions) constGets SortKey object for the specified string using specified compare options.
virtual SortKeyPtr GetSortKey(const String&) constGets SortKey object for the specified string.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
virtual int IndexOf(const String&, const String&, int, int) constLooks for substring.
virtual int IndexOf(const String&, const String&, int, CompareOptions) constLooks for substring. Only Ordinal mode is supported.
virtual int IndexOf(const String&, const String&, int, int, CompareOptions) constLooks for substring. Only Ordinal mode is supported.
virtual int IndexOf(const String&, char16_t, int, int, CompareOptions) constLooks for the specified character. Only Ordinal mode is supported.
virtual int IndexOf(const String&, const String&, int) constLooks for substring.
virtual int IndexOf(const String&, char16_t) constLooks for the specified character.
virtual int IndexOf(const String&, const String&) constLooks for substring.
virtual int IndexOf(const String&, char16_t, int, CompareOptions) constLooks for the specified character. Only Ordinal mode is supported.
virtual int IndexOf(const String&, char16_t, int, int) constLooks for the specified character.
virtual int IndexOf(const String&, char16_t, int) constLooks for the specified character.
virtual int IndexOf(const String&, const String&, CompareOptions) constLooks for substring. Only Ordinal mode is supported.
virtual int IndexOf(const String&, char16_t, CompareOptions) constLooks for the specified character. Only Ordinal mode is supported.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
virtual bool IsPrefix(const String&, const String&, CompareOptions) constChecks if the specified string starts with the specified prefix using the specified compare options.
virtual bool IsPrefix(const String&, const String&) constChecks if the specified string starts with the specified prefix.
static bool IsSortable(char16_t)Checks whether a specified character is sortable.
static bool IsSortable(const String&)Checks whether a specified string is sortable.
virtual bool IsSuffix(const String&, const String&, CompareOptions) constChecks if the specified string ends with the specified suffix using the specified compare options.
virtual bool IsSuffix(const String&, const String&) constChecks if the specified string ends with the specified suffix.
virtual int LastIndexOf(const String&, const String&) constSearches last occurrence of the specified substring.
virtual int LastIndexOf(const String&, const String&, int, int, CompareOptions) constSearches last occurrence of the specified substring using the specified compare options.
virtual int LastIndexOf(const String&, char16_t, int, int, CompareOptions) constSearches last occurrence of the specified character using the specified compare options.
virtual int LastIndexOf(const String&, const String&, int, int) constSearches last occurrence of the specified string.
virtual int LastIndexOf(const String&, const String&, int, CompareOptions) constSearches last occurrence of the specified string using the specified compare options.
virtual int LastIndexOf(const String&, char16_t, int, CompareOptions) constSearches last occurrence of the specified character using the specified compare options.
virtual int LastIndexOf(const String&, const String&, int) constSearches last occurrence of the specified string.
virtual int LastIndexOf(const String&, char16_t, int) constSearches last occurrence of the specified character.
virtual int LastIndexOf(const String&, const String&, CompareOptions) constSearches last occurrence of the specified string using the specified compare options.
virtual int LastIndexOf(const String&, char16_t, CompareOptions) constSearches last occurrence of the specified character using the specified compare options.
virtual int LastIndexOf(const String&, char16_t) constSearches last occurrence of the specified character.
virtual int LastIndexOf(const String&, char16_t, int, int) constSearches last occurrence of the specified character.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
CompareInfo& operator=(const CompareInfo&)
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
String ToString() const overrideAnalog of C# Object.ToString() method. Enables converting custom objects to string.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual ~Object()Destroys object. Frees all internal data structures.

See Also