Edit

Share via


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

CElementTraitsBase

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