CStringElementTraitsI Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at CStringElementTraitsI Class.
This class provides static functions related to strings stored in collection class objects. It is similar to CStringElementTraits, but performs case-insensitive comparisons.
Syntax
template <typename T, class CharTraits = CDefaultCharTraits<T ::XCHAR>>
class CStringElementTraitsI : public CElementTraitsBase<T>
Parameters
T
The type of data to be stored in the collection.
Members
Public Typedefs
Name | Description |
---|---|
CStringElementTraitsI::INARGTYPE | The data type to use for adding elements to the collection class object. |
CStringElementTraitsI::OUTARGTYPE | The data type to use for retrieving elements from the collection class object. |
Public Methods
Name | Description |
---|---|
CStringElementTraitsI::CompareElements | Call this static function to compare two string elements for equality, ignoring differences in case. |
CStringElementTraitsI::CompareElementsOrdered | Call this static function to compare two string elements, ignoring differences in case. |
CStringElementTraitsI::Hash | Call this static function to calculate a hash value for the given string element. |
Remarks
This class provides static functions for comparing strings and for creating a hash value. These functions are useful when using a collection class to store string-based data. Use CStringRefElementTraits when the string objects are to be with dealt with as references.
For more information, see ATL Collection Classes.
Inheritance Hierarchy
CStringElementTraitsI
Requirements
Header: atlcoll.h
CStringElementTraitsI::CompareElements
Call this static function to compare two string elements for equality, ignoring differences in case.
static bool CompareElements(INARGTYPE str1, INARGTYPE str2) throw();
Parameters
str1
The first string element.
str2
The second string element.
Return Value
Returns true if the elements are equal, false otherwise.
Remarks
Comparisons are case insensitive.
CStringElementTraitsI::CompareElementsOrdered
Call this static function to compare two string elements, ignoring differences in case.
static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2) throw();
Parameters
str1
The first string element.
str2
The second string element.
Return Value
Zero if the strings are identical, < 0 if str1
is less than str2
, or > 0 if str1
is greater than str2
. The CStringT::Compare method is used to perform the comparisons.
Remarks
Comparisons are case insensitive.
CStringElementTraitsI::Hash
Call this static function to calculate a hash value for the given string element.
static ULONG Hash(INARGTYPE str) throw();
Parameters
str
The string element.
Return Value
Returns a hash value, calculated using the string's contents.
CStringElementTraitsI::INARGTYPE
The data type to use for adding elements to the collection class object.
typedef T::PCXSTR INARGTYPE;
CStringElementTraitsI::OUTARGTYPE
The data type to use for retrieving elements from the collection class object.
typedef T& OUTARGTYPE;
See Also
CElementTraitsBase Class
Class Overview
CStringElementTraits Class