ulib  1.0
S.W. Lee's essential C++ library
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
Public Member Functions | List of all members
ulib::CUList Class Reference

#include <ulist.h>

Inheritance diagram for ulib::CUList:
Inheritance graph
[legend]

Public Member Functions

 CUList (int arg_verbose=0)
 생성자
 ~CUList ()
 소멸자
long GetSize ()
 list의 크기를 구함
bool IsEmpty ()
 비어있는지 체크
void Verbose (int arg_verbose=0)
 메시지를 화면에 출력할 정도를 설정
long PushFront (void *push_data, short data_size)
 data를 list의 제일 앞에 추가
long PushBack (void *push_data, short data_size)
 data를 list의 제일 뒤에 추가
long PushFront (char *push_data)
 char *를 list의 제일 앞에 추가
long PushBack (char *push_data)
 char*를 list의 제일 뒤에 추가
bool PopFront (void *ret_data)
 처음 node의 data를 가져오고 list에서 삭제
bool PopBack (void *ret_data)
 마지막 node의 data를 가져오고 list에서 삭제
bool PopAt (long nPos, void *ret_data)
 임의의 위치의 node의 data를 가져오고 list에서 삭제
bool GetAt (long nPos, void *ret_data)
 임의의 위치의 node의 data를 가져옴
void Clear ()
 list를 비움
bool GetCurNodeData (void *ret_data)
 현재 선택된 node의 data를 구함
void MoveToStart ()
 List의 제일 처음 node를 가리키게 설정
void MoveToEnd ()
 list의 제일 끝 node를 가리키게 설정
bool MoveToNext ()
 다음 node를 가리키게 설정
bool MoveToPrev ()
 이전 node를 가리키게 설정

Detailed Description

Date
Jul. 2, 2006 ~
Author
swlee
Warning
???
Bug:
???
Note
객체의 시작 주소와 크기를 입력하여 노드를 추가한다.
길이가 정해지지 않은 객체( ex. 문자열 )은 동적 생성한 후 시작 주소와 포인터크기(4)를 입력하여 노드를 추가한다.

Constructor & Destructor Documentation

ulib::CUList::CUList ( int  arg_verbose = 0)

생성자

Parameters
arg_verbose메시지를 화면에 출력할 정도
Note
0 : 출력 안함
1 : 생성, 해제, Clear 상황을 출력
2 : Push, Pop 상황을 출력
See Also
Verbose()

References ulib::CUListNode::next, ulib::CUListNode::prev, ulib::CUNode::SetData(), and Verbose().

ulib::CUList::~CUList ( )

소멸자

References Clear().

Member Function Documentation

void ulib::CUList::Clear ( )

list를 비움

Reimplemented in ulib::CUStringList.

References ulib::CUListNode::next, and ulib::CUListNode::prev.

Referenced by ulib::CUJson::Tokenize(), and ~CUList().

bool ulib::CUList::GetAt ( long  nPos,
void *  ret_data 
)

임의의 위치의 node의 data를 가져옴

Parameters
nPos구할 위치
ret_data결과를 복사할 data의 시작 주소
Returns
list 안에 있는 node라면 true
See Also
PopAt()

References ulib::CUNode::data, ulib::CUNode::data_size, GetSize(), IsEmpty(), and ulib::CUListNode::next.

Referenced by ulib::CUStringList::GetAt(), ulib::CUJsonTokenList::GetAt(), ulib::CUTreeNode::GetChild(), ulib::CUTree::GetRootNode(), and ulib::CUStringList::SetAt().

bool ulib::CUList::GetCurNodeData ( void *  ret_data)

현재 선택된 node의 data를 구함

Parameters
ret_data결과를 복사할 data의 시작 주소
Returns
선택된 node가 있다면 true

References ulib::CUNode::data, and ulib::CUNode::data_size.

long ulib::CUList::GetSize ( )
bool ulib::CUList::IsEmpty ( )

비어있는지 체크

Returns
비어있다면 true
See Also
GetSize(), Clear()

Reimplemented in ulib::CUStringList.

Referenced by GetAt(), PopBack(), and PopFront().

void ulib::CUList::MoveToEnd ( )

list의 제일 끝 node를 가리키게 설정

See Also
MoveToStart(), MoveToPrev(), MoveToNext()
bool ulib::CUList::MoveToNext ( )

다음 node를 가리키게 설정

See Also
MoveToPrev(), MoveToStart(), MoveToEnd()

References ulib::CUListNode::HaveNext(), and ulib::CUListNode::next.

bool ulib::CUList::MoveToPrev ( )

이전 node를 가리키게 설정

See Also
MoveToNext(), MoveToStart(), MoveToEnd()

References ulib::CUListNode::HavePrev(), and ulib::CUListNode::prev.

void ulib::CUList::MoveToStart ( )

List의 제일 처음 node를 가리키게 설정

See Also
MoveToEnd(), MoveToPrev(), MoveToNext()
bool ulib::CUList::PopAt ( long  nPos,
void *  ret_data 
)

임의의 위치의 node의 data를 가져오고 list에서 삭제

Parameters
nPos구할 위치
ret_data결과를 복사할 data의 시작 주소
Returns
list 안에 있는 node라면 true
See Also
GetAt()

References ulib::CUNode::data, ulib::CUNode::data_size, GetSize(), ulib::CUListNode::next, and ulib::CUListNode::prev.

Referenced by ulib::CUStringList::PopAt().

bool ulib::CUList::PopBack ( void *  ret_data)

마지막 node의 data를 가져오고 list에서 삭제

Parameters
ret_data결과를 복사할 data의 시작 주소
Returns
list가 비어있지 않다면 true
See Also
PopFront(), PopAt()

References ulib::CUNode::data, ulib::CUNode::data_size, IsEmpty(), ulib::CUListNode::next, and ulib::CUListNode::prev.

Referenced by ulib::CUStringList::PopBack().

bool ulib::CUList::PopFront ( void *  ret_data)

처음 node의 data를 가져오고 list에서 삭제

Parameters
ret_data결과를 복사할 data의 시작 주소
Returns
list가 비어있지 않다면 true
See Also
PopBack(), PopAt()

References ulib::CUNode::data, ulib::CUNode::data_size, IsEmpty(), ulib::CUListNode::next, and ulib::CUListNode::prev.

Referenced by ulib::CUTree::Clear(), and ulib::CUStringList::PopFront().

long ulib::CUList::PushBack ( void *  push_data,
short  data_size 
)

data를 list의 제일 뒤에 추가

Parameters
push_data추가할 data의 시작 주소
data_size추가할 data의 크기
See Also
PushFront(), PopFront()

References ulib::CUListNode::next, ulib::CUListNode::prev, and ulib::CUNode::SetData().

Referenced by ulib::CUTreeNode::AddChild(), and PushBack().

long ulib::CUList::PushBack ( char *  push_data)

char*를 list의 제일 뒤에 추가

Parameters
push_data추가할 char *
See Also
PushFront(), PopBack()

References PushBack().

long ulib::CUList::PushFront ( void *  push_data,
short  data_size 
)

data를 list의 제일 앞에 추가

Parameters
push_data추가할 data의 시작 주소
data_size추가할 data의 크기
See Also
PushBack(), PopFront()

References ulib::CUListNode::next, ulib::CUListNode::prev, and ulib::CUNode::SetData().

Referenced by PushFront().

long ulib::CUList::PushFront ( char *  push_data)

char *를 list의 제일 앞에 추가

Parameters
push_data추가할 char *
See Also
PushBack(), PopFront()

References PushFront().

void ulib::CUList::Verbose ( int  arg_verbose = 0)

메시지를 화면에 출력할 정도를 설정

Parameters
arg_verbose메시지를 화면에 출력할 정도
Note
0 : 출력 안함
1 : 생성, 해제, Clear 상황을 출력
2 : Push, Pop 상황을 출력
See Also
CUList()

Referenced by CUList().


The documentation for this class was generated from the following files: