CStringElementTraitsI Class

 

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

This class provides static functions related to strings stored in collection class objects. It is similar to CStringElementTraits, but performs case-insensitive comparisons.

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.

Public Typedefs

NameDescription
CStringElementTraitsI::INARGTYPEThe data type to use for adding elements to the collection class object.
CStringElementTraitsI::OUTARGTYPEThe data type to use for retrieving elements from the collection class object.

Public Methods

NameDescription
CStringElementTraitsI::CompareElementsCall this static function to compare two string elements for equality, ignoring differences in case.
CStringElementTraitsI::CompareElementsOrderedCall this static function to compare two string elements, ignoring differences in case.
CStringElementTraitsI::HashCall this static function to calculate a hash value for the given string element.

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.

CElementTraitsBase

CStringElementTraitsI

Header: atlcoll.h

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.

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.

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.

The data type to use for adding elements to the collection class object.

typedef T::PCXSTR INARGTYPE;

The data type to use for retrieving elements from the collection class object.

typedef T& OUTARGTYPE;

CElementTraitsBase Class
Class Overview
CStringElementTraits Class

Show: