ulib  1.0
S.W. Lee's essential C++ library
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
ulist.h
Go to the documentation of this file.
1 
11 #ifndef ___ulist___
12 #define ___ulist___
13 
14 #include <string.h>
15 #include <stdio.h>
16 #include <stdlib.h>
17 #include "unode.h"
18 
19 
20 namespace ulib {
21 
23 
32 
33  class CUListNode : public CUNode
34  {
35  public:
36  CUListNode();
37  ~CUListNode();
38 
39  public:
40  bool HaveNext();
41  bool HavePrev();
42 
43  public:
46  };
47 
48 
49 
51 
62 
63  class CUList
64  {
65  public:
66  // 생성자, 소멸자
67  CUList( int arg_verbose = 0 );
68  ~CUList();
69 
70  public:
71  long GetSize();
72  bool IsEmpty();
73 
74  // 추가
75  void Verbose( int arg_verbose = 0 );
76  long PushFront( void* push_data, short data_size );
77  long PushBack( void* push_data, short data_size );
78  long PushFront( char* push_data );
79  long PushBack( char* push_data );
80 
81  bool PopFront( void *ret_data);
82  bool PopBack( void *ret_data);
83  bool PopAt( long nPos, void *ret_data );
84  bool GetAt( long nPos, void *ret_data );
85 
86  void Clear();
87  bool GetCurNodeData( void *ret_data );
88  void MoveToStart();
89  void MoveToEnd();
90  bool MoveToNext();
91  bool MoveToPrev();
92 
93  private:
94  long size;
95  CUListNode *head;
96  CUListNode *tail;
97  CUListNode *cur_node;
98  int verbose;
99  };
100 
101 
102 }
103 #endif
104