DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseList   [목차열람] [주소복사] [슬롯비우기]
CBaseList 클래스
 
Microsoft DirectX 9.0

CBaseList 클래스

CBaseList 클래스의 계층

CBaseList 메서드는, 추상 리스트를 처리 한다. CBaseList 로부터 파생하는 CGenericList 클래스 템플릿은, 형태 체크와 CBaseList 클래스보다 단순한 API 를 제공한다.

CBaseList 클래스는 Microsoft® Foundation Classes (MFC) 라이브러리에 있는 CObList 를 기본으로 생성 되고 있다. 리스트내의 위치는 POSITION 구조체에 의해 나타난다. POSITION 구조체의 내부 멤버는 호출해 원으로부터 액세스 하는 것이 아니라, 리스트 노드의 포인터로서 취급해야 하는 것이다. 리스트내의 개체의 위치는 개체가 삭제될 때까지 계속해 유효하다.

리스트는 그것을 포함한 개체에 의한 지원을 요구하지 않는다. 스토리지 관리나 개체의 복사는 실시하지 않는다. 개체는 복수의 리스트에 존재 할 수 있다.

이 클래스의 약반수의 메서드는 단일 개체이다. 이러한 메서드는 메서드명에 -I 의 접미말을 갖는다. 다른 메서드는 완전한 리스트로서 동작한다. 예를 들어,CBaseList::AddAfter 메서드는 리스트를 다른 리스트의 마지막에 추가한다. 단일 개체의 조작은 POSITION 값을 돌려주는지, 실패시는 NULL 를 돌려준다. 리스트 프로세싱은 성공시에 TRUE 를, 실패시에 FALSE 를 돌려준다.

요건

헤더: Wxlist.h 로 선언해, Streams.h 를 인클루드 한다.

라이브러리: Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).

프로텍트 멤버 변수  
m_Count 리스트의 항목수.
m_pFirst 리스트의 선두 노드의 포인터.
m_pLast 리스트의 말미 노드의 포인터.
프로텍트 메서드  
GetNextI 지정한 위치에 있는 항목을 취득해, 위치를 진행시킨다.
GetI 지정한 위치에 있는 항목을 얻어온다.
FindI 지정한 항목을 보관 유지하는 최초의 위치를 얻어온다.
RemoveHeadI 리스트내의 최초의 항목을 삭제한다.
RemoveTailI 리스트내의 마지막 항목을 삭제한다.
RemoveI 지정한 위치에 있는 항목을 삭제한다.
AddTailI 리스트의 말미에 항목을 추가한다.
AddHeadI 리스트의 선두에 항목을 추가한다.
AddAfterI 지정한 위치의 뒤에 항목을 삽입한다.
AddBeforeI 지정한 위치전에 항목을 삽입한다.
퍼블릭 메서드  
CBaseList 생성자 메서드.
~CBaseList 소멸자 메서드.
RemoveAll 리스트로부터 모든 노드를 삭제한다.
GetHeadPositionI 리스트내의 최초의 항목의 위치를 얻어온다.
GetTailPositionI 리스트내의 마지막 항목의 위치를 얻어온다.
GetCountI 리스트내의 항목의 수를 얻어온다.
Next 리스트의 다음의 위치를 얻어온다.
Prev 리스트의 전의 위치를 얻어온다.
AddHead 이 리스트의 전에 다른 리스트를 삽입한다.
AddTail 이 리스트의 뒤에 다른 리스트를 추가한다.
AddAfter 지정한 위치의 뒤에 리스트를 삽입한다.
AddBefore 지정한 위치전에 리스트를 삽입한다.
MoveToTail 리스트를 분할해, 전측을 다른 리스트의 마지막에 추가한다.
MoveToHead 리스트를 분할해, 뒤측을 다른 리스트의 전에 삽입한다.
Reverse 리스트의 차례를 역전한다.

↑TOP