共用方式為


IEnumOnSTLImpl Class

這個類別會定義以 STL 集合的列舉值介面。

template < 
   class Base, 
   const IID* piid, 
   class T, 
   class Copy, 
   class CollType 
> 
class ATL_NO_VTABLE IEnumOnSTLImpl : 
   public Base

參數

  • Base
    COM 列舉值 (IEnumXXXX) 介面。

  • piid
    out 列舉值介面的介面 ID 的指標。

  • T
    列舉值介面公開的項目型別。

  • Copy
    複製原則類別

  • CollType
    STL 容器類別。

Members

公用方法

名稱

描述

IEnumOnSTLImpl::Clone

IEnumXXXX::Clone 的實作。

IEnumOnSTLImpl::Init

初始化列舉值。

IEnumOnSTLImpl::Next

IEnumXXXX::Next 的實作。

IEnumOnSTLImpl::Reset

IEnumXXXX::Reset 的實作。

IEnumOnSTLImpl::Skip

IEnumXXXX::Skip 的實作。

公用資料成員

名稱

描述

IEnumOnSTLImpl::m_iter

表示集合中位於列舉值目前位置的 Iterator。

IEnumOnSTLImpl::m_pcollection

一個指標保留項目 STL 容器中列舉型別。

IEnumOnSTLImpl::m_spUnk

提供集合中物件的 IUnknown 指標。

備註

IEnumOnSTLImpl 為列舉中的項目是以 STL 相容的容器中的 COM 列舉值介面的實作。 這個類別 (Class) 類似 CComEnumImpl 類別,以根據陣列的列舉值介面的實作。

注意事項注意事項

請參閱 CComEnumImpl::Init 有關在其他差異的詳細資料。 CComEnumImplIEnumOnSTLImpl

通常,您不需要從衍生以建立自己的列舉型別類別從這個介面實作。 如果您想要使用根據 STL 容器之 ATL 提供的列舉值,但更常用的 CComEnumOnSTL建立執行個體,或是可以取得傳回列舉值從 ICollectionOnSTLImpl的集合類別。

不過,因此,如果您需要提供自訂列舉值 (例如,公開介面的列舉值介面以外的 ID),您可以從這個類別衍生。 在這個案例中的可能需要覆寫 複製品 方法提供自己的實作。

繼承階層架構

Base

IEnumOnSTLImpl

需求

Header: atlcom.h

請參閱

其他資源

ATL Class Overview