CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
string_comparer.h
1
2#ifndef _string_comparer_h_
3#define _string_comparer_h_
4#include "system/collections/icomparer.h"
5#include "system/collections/iequality_comparer.h"
6#include "system/object.h"
7#include "system/string.h"
8#include "system/globalization/culture_info.h"
9#include "defines.h"
10
11namespace System
12{
13
14class StringComparer;
17
22class ASPOSECPP_SHARED_CLASS StringComparer
23 : virtual public System::Object
24 , public Collections::Generic::IComparer<String>
26{
31
33 ASPOSECPP_SHARED_RTTI_INFO_DECL();
34
35public:
36
37#ifdef ASPOSE_COMPARE_BY_REF
39 typedef const String& args_type;
40#else
42 typedef String args_type;
43#endif
44
47 static ASPOSECPP_SHARED_API StringComparerPtr get_Ordinal();
50 static ASPOSECPP_SHARED_API StringComparerPtr get_OrdinalIgnoreCase();
51
54 static ASPOSECPP_SHARED_API StringComparerPtr get_InvariantCulture();
58
61 static ASPOSECPP_SHARED_API StringComparerPtr get_CurrentCulture();
64 static ASPOSECPP_SHARED_API StringComparerPtr get_CurrentCultureIgnoreCase();
65
70 static ASPOSECPP_SHARED_API StringComparerPtr Create(const System::SharedPtr<System::Globalization::CultureInfo>& culture, bool ignoreCase);
71
72 // IComparer<String>
77 virtual ASPOSECPP_SHARED_API int Compare(args_type x, args_type y) const override;
78
79 // IEqualityComparer<String>
84 virtual ASPOSECPP_SHARED_API bool Equals(String x, String y) const override;
88 virtual ASPOSECPP_SHARED_API int GetHashCode(String obj) const override;
89};
90
91} // namespace System
92
93#endif // _string_comparer_h_
Interface that compares two objects in greater-equal-less sense. Objects of this class should only be...
Definition: icomparer.h:20
Interface providing means to compare two objects for equality. Objects of this class should only be a...
Definition: iequality_comparer.h:17
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:62
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
Compares strings using different comparison modes. Objects of this class should only be allocated usi...
Definition: string_comparer.h:26
static StringComparerPtr Create(const System::SharedPtr< System::Globalization::CultureInfo > &culture, bool ignoreCase)
Creates culture-specific comparer.
static StringComparerPtr get_CurrentCultureIgnoreCase()
Current culture case-ignoring comparer singleton.
const String & args_type
Argument type.
Definition: string_comparer.h:39
static StringComparerPtr get_CurrentCulture()
Current culture comparer singleton.
virtual int GetHashCode(String obj) const override
Gets string's hash code.
static StringComparerPtr get_InvariantCulture()
Invariant culture comparer singleton.
virtual int Compare(args_type x, args_type y) const override
Compares two strings using current settings.
static StringComparerPtr get_InvariantCultureIgnoreCase()
Invariant culture case-ignoring comparer singleton.
static StringComparerPtr get_OrdinalIgnoreCase()
Ordinal case-ignoring comparer singleton.
virtual bool Equals(String x, String y) const override
Checks if two strings are equal using current settings.
static StringComparerPtr get_Ordinal()
Ordinal comparer singleton.
String class used across the library. Is a substitute for C# System.String when translating code....
Definition: string.h:122
Definition: db_command.h:9
SharedPtr< StringComparer > StringComparerPtr
An alias for a shared pointer to an instance of StringComparer class.
Definition: string_comparer.h:16