20class FormatEtcEnumerator final:
public AComBase<FormatEtcEnumerator, IEnumFORMATETC> {
22 FormatEtcEnumerator(
AVector<FORMATETC> contents) : mContents(std::move(contents)), mCursor(mContents.begin()) {}
23 FormatEtcEnumerator(
const FormatEtcEnumerator& rhs): mContents(rhs.mContents), mCursor(mContents.begin() + std::distance(rhs.mContents.cbegin(),
AVector<FORMATETC>::const_iterator(rhs.mCursor))) {
26 HRESULT __stdcall Next(ULONG celt, FORMATETC* rgelt, ULONG* pceltFetched)
override;
27 HRESULT __stdcall Skip(ULONG celt)
override;
28 HRESULT __stdcall Reset(
void)
override;
29 HRESULT __stdcall Clone(IEnumFORMATETC** ppenum)
override;
33 AVector<FORMATETC>::iterator mCursor;