You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
890 B
43 lines
890 B
//
|
|
// enumss.h
|
|
//
|
|
// CEnumSpanSetRanges
|
|
//
|
|
|
|
#ifndef ENUMSS_H
|
|
#define ENUMSS_H
|
|
|
|
#include "private.h"
|
|
#include "spans.h"
|
|
#include "ic.h"
|
|
|
|
class CEnumSpanSetRanges : private CSpanSet,
|
|
public IEnumTfRanges,
|
|
public CComObjectRootImmx
|
|
{
|
|
public:
|
|
CEnumSpanSetRanges(CInputContext *pic);
|
|
~CEnumSpanSetRanges();
|
|
|
|
BEGIN_COM_MAP_IMMX(CEnumSpanSetRanges)
|
|
COM_INTERFACE_ENTRY(IEnumTfRanges)
|
|
END_COM_MAP_IMMX()
|
|
|
|
IMMX_OBJECT_IUNKNOWN_FOR_ATL()
|
|
|
|
// IEnumTfRanges
|
|
STDMETHODIMP Clone(IEnumTfRanges **ppEnum);
|
|
STDMETHODIMP Next(ULONG ulCount, ITfRange **ppRange, ULONG *pcFetched);
|
|
STDMETHODIMP Reset();
|
|
STDMETHODIMP Skip(ULONG ulCount);
|
|
|
|
void _Merge(CSpanSet *pss);
|
|
|
|
private:
|
|
CInputContext *_pic;
|
|
int _iCur;
|
|
|
|
DBG_ID_DECLARE;
|
|
};
|
|
|
|
#endif // ENUMSS_H
|