다음을 통해 공유


ICollectionOnSTLImpl 클래스

이 클래스는 컬렉션 클래스에서 사용하는 메서드를 제공합니다.

구문

template <class T, class CollType, class ItemType, class CopyItem, class EnumType>
class ICollectionOnSTLImpl : public T

매개 변수

T
COM 컬렉션 인터페이스입니다.

CollType
C++ 표준 라이브러리 컨테이너 클래스입니다.

ItemType
컨테이너 인터페이스에 의해 노출되는 항목의 형식입니다.

CopyItem
복사 정책 클래스입니다.

EnumType
CComEnumOnSTL 호환 열거자 클래스입니다.

멤버

공용 메서드

이름 설명
ICollectionOnSTLImpl::get__NewEnum 컬렉션의 열거자 개체를 반환합니다.
ICollectionOnSTLImpl::getcount 컬렉션의 요소 수를 반환합니다.
ICollectionOnSTLImpl::get_Item 컬렉션에서 요청된 항목을 반환합니다.

공용 데이터 멤버

속성 설명
ICollectionOnSTLImpl::m_coll 컬렉션입니다.

설명

이 클래스는 컬렉션 인터페이스의 세 가지 메서드인 getcount, get_Item 및 get__NewEnum 구현을 제공합니다.

이 클래스를 사용하려면 다음을 수행합니다.

  • 구현하려는 컬렉션 인터페이스를 정의(또는 대여)합니다.

  • 이 컬렉션 인터페이스를 기반으로 하는 특수화에서 클래스를 ICollectionOnSTLImpl 파생합니다.

  • 파생 클래스를 사용하여 컬렉션 인터페이스에서 처리 ICollectionOnSTLImpl되지 않는 메서드를 구현합니다.

참고 항목

컬렉션 인터페이스가 이중 인터페이스인 경우 ATL에서 메서드 구현을 제공하려는 경우 특수화를 첫 번째 템플릿 매개 변수로 전달 ICollectionOnSTLImpl 하여 IDispatchImpl에서 클래스를 IDispatch 파생합니다.

  • m_coll 멤버에 항목을 추가하여 컬렉션을 채웁니다.

자세한 내용 및 예제는 ATL 컬렉션 및 열거자를 참조 하세요.

상속 계층 구조

T

ICollectionOnSTLImpl

요구 사항

헤더: atlcom.h

ICollectionOnSTLImpl::getcount

이 메서드는 컬렉션의 항목 수를 반환합니다.

STDMETHOD(getcount)(long* pcount);

매개 변수

pcount
[out] 컬렉션의 요소 수입니다.

Return Value

표준 HRESULT 값입니다.

ICollectionOnSTLImpl::get_Item

이 메서드는 컬렉션에서 지정된 항목을 반환합니다.

STDMETHOD(get_Item)(long Index, ItemType* pvar);

매개 변수

Index
[in] 컬렉션에 있는 항목의 1부터 시작하는 인덱스입니다.

pvar
[out] Index해당하는 항목입니다.

Return Value

표준 HRESULT 값입니다.

설명

이 항목은 특수화에서 템플릿 인수로 전달된 복사 정책 클래스복사 메서드를 사용하여 m_coll 지정된 위치에 있는 ICollectionOnSTLImpl 데이터를 복사하여 가져옵니다.

ICollectionOnSTLImpl::get__NewEnum

컬렉션의 열거자 개체를 반환합니다.

STDMETHOD(get__NewEnum)(IUnknown** ppUnk);

매개 변수

ppUnk
[out] 새로 만든 열거자 개체의 IUnknown 포인터입니다.

Return Value

표준 HRESULT 값입니다.

설명

새로 만든 열거자는 원래 컬렉션 m_coll에서 반복기를 유지 관리하므로(복사본이 만들어지지 않음) 컬렉션 개체에 대한 COM 참조를 보유하여 처리되지 않은 열거자가 있는 동안 컬렉션이 활성 상태로 유지되도록 합니다.

ICollectionOnSTLImpl::m_coll

이 멤버는 컬렉션이 나타내는 항목을 보유합니다.

CollType m_coll;

참고 항목

ATLCollections 샘플
클래스 개요