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