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;