Share via


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

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