CBaseList 类
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
CBaseList 方法实现 abtract 列表。 派生自 CBaseList 的 CGenericList 类模板提供类型检查和比 CBaseList 类更简单的接口。
CBaseList 类是在 Microsoft 基础类 (MFC) 库中的 CObList 类之后建模的。 列表中的位置由 POSITION 结构表示。 调用方不应访问 POSITION 结构的内部成员;将其视为指向列表节点的指针。 在删除对象之前,对象在列表中的位置保持有效。
列表不需要其包含的对象的任何支持。 它不对对象执行存储管理或复制。 对象可以位于多个列表中。
此类中大约一半的方法作用于单个对象。 这些方法在方法名称中带有后缀 - I。 其他方法作用于整个列表。 例如, CBaseList::AddAfter 方法将列表追加到另一个列表。 单对象操作在失败时返回 POSITION 值或 NULL 。 如果成功,则列表操作返回 TRUE ,否则返回 FALSE 。
受保护的成员变量 | 说明 |
---|---|
m_Count | 列表中的项数。 |
m_pFirst | 指向列表中第一个节点的指针。 |
m_pLast | 指向列表中最后一个节点的指针。 |
受保护的方法 | 说明 |
GetNextI | 检索位于指定位置的项,并前进位置。 |
GetI | 检索位于指定位置的项。 |
FindI | 检索保存指定项的第一个位置。 |
RemoveHeadI | 删除列表中的第一项。 |
RemoveTailI | 删除列表中的最后一项。 |
RemoveI | 移除位于指定位置的项。 |
AddTailI | 将项添加到列表的末尾。 |
AddHeadI | 将项添加到列表的前面。 |
AddAfterI | 在指定位置之后插入项。 |
AddBeforeI | 在指定位置之前插入项。 |
公共方法 | 说明 |
CBaseList | 构造函数方法。 |
~ CBaseList | 析构函数方法。 |
RemoveAll | 从列表中删除所有节点。 |
GetHeadPositionI | 检索列表中第一项的位置。 |
GetTailPositionI | 检索列表最后一项的位置。 |
GetCountI | 检索列表中的项数。 |
下一篇 | 检索列表中的下一个位置。 |
昨日 | 检索列表中的上一个位置。 |
AddHead | 在此列表的前面插入另一个列表。 |
AddTail | 将另一个列表追加到此列表的末尾。 |
AddAfter | 在指定位置之后插入列表。 |
AddBefore | 在指定位置之前插入列表。 |
MoveToTail | 拆分列表并将头部分追加到另一个列表的尾部。 |
MoveToHead | 拆分列表并将尾部插入另一个列表的头部。 |
反向 | 反转列表的顺序。 |
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|