source: libcf/trunk/include/cf_list.h@ 119

Last change on this file since 119 was 119, checked in by cheese, 11 years ago

#1 fix and arrange doxygen configuration file and doxygen comments

File size: 1.4 KB
Line 
1/**
2 * \file cf_list.h
3 * \author myusgun <myusgun@gmail.com>
4 *
5 * \brief 연결 리스트
6 *
7 * \example list.c
8 */
9#ifndef __CF_LIST_H__
10#define __CF_LIST_H__
11
12#include "cf_base.h"
13
14/** 리스트 컨텍스트 (Opaque) */
15typedef void * CF_List_Ctx;
16
17/** 리스트 탐색자 (Opaque) */
18typedef void * CF_Traverser;
19
20/** 추가 위치 */
21typedef enum
22{
23 CF_DIRECTION_BEFORE, /**< traverser의 앞 */
24 CF_DIRECTION_AFTER /**< traverser의 뒤 */
25} CF_DIRECTION;
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31CF_EXPORT int
32CF_List_CreateCtx (CF_List_Ctx * ctx);
33
34CF_EXPORT int
35CF_List_DestroyCtx (CF_List_Ctx ctx);
36
37CF_EXPORT int
38CF_List_Front (CF_List_Ctx ctx,
39 CF_Traverser * traverser);
40
41CF_EXPORT int
42CF_List_Rear (CF_List_Ctx ctx,
43 CF_Traverser * traverser);
44
45CF_EXPORT int
46CF_List_Insert (CF_List_Ctx ctx,
47 const CF_Traverser traverser,
48 const CF_DIRECTION direction,
49 const void * element);
50
51CF_EXPORT int
52CF_List_Remove (CF_List_Ctx ctx,
53 CF_Traverser * traverser);
54
55CF_EXPORT int
56CF_List_RemoveAll (CF_List_Ctx ctx);
57
58CF_EXPORT int
59CF_List_GetElement (const CF_Traverser traverser,
60 void ** element);
61
62CF_EXPORT int
63CF_List_Prev (CF_Traverser * traverser);
64
65CF_EXPORT int
66CF_List_Next (CF_Traverser * traverser);
67
68CF_EXPORT int
69CF_List_GetSize (CF_List_Ctx ctx);
70
71#ifdef __cplusplus
72}
73#endif
74
75#endif // #ifndef __CF_LIST_H__
Note: See TracBrowser for help on using the repository browser.