VirtualBox

source: vbox/trunk/src/VBox/GuestHost/OpenGL/include/cr_list.h@ 42590

最後變更 在這個檔案從42590是 15532,由 vboxsync 提交於 16 年 前

crOpenGL: export to OSE

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Id
檔案大小: 1.5 KB
 
1#ifndef CR_LIST_H
2#define CR_LIST_H
3
4#include <iprt/cdefs.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10typedef struct CRList CRList;
11typedef struct CRListIterator CRListIterator;
12typedef int ( *CRListCompareFunc ) ( const void *element1, const void *element2 );
13typedef void ( *CRListApplyFunc ) ( void *element, void *arg );
14
15DECLEXPORT(CRList *) crAllocList( void );
16DECLEXPORT(void) crFreeList( CRList *l );
17
18DECLEXPORT(unsigned) crListSize( const CRList *l );
19DECLEXPORT(int) crListIsEmpty( const CRList *l );
20
21DECLEXPORT(void) crListInsert( CRList *l, CRListIterator *iter, void *elem );
22DECLEXPORT(void) crListErase( CRList *l, CRListIterator *iter );
23DECLEXPORT(void) crListClear( CRList *l );
24
25DECLEXPORT(void) crListPushBack( CRList *l, void *elem );
26DECLEXPORT(void) crListPushFront( CRList *l, void *elem );
27
28DECLEXPORT(void) crListPopBack( CRList *l );
29DECLEXPORT(void) crListPopFront( CRList *l );
30
31DECLEXPORT(void *) crListFront( CRList *l );
32DECLEXPORT(void *) crListBack( CRList *l );
33
34DECLEXPORT(CRListIterator *) crListBegin( CRList *l );
35DECLEXPORT(CRListIterator *) crListEnd( CRList *l );
36
37DECLEXPORT(CRListIterator *) crListNext( CRListIterator *iter );
38DECLEXPORT(CRListIterator *) crListPrev( CRListIterator *iter );
39DECLEXPORT(void *) crListElement( CRListIterator *iter );
40
41DECLEXPORT(CRListIterator *) crListFind( CRList *l, void *element, CRListCompareFunc compare );
42DECLEXPORT(void) crListApply( CRList *l, CRListApplyFunc apply, void *arg );
43
44#ifdef __cplusplus
45} /* extern "C" */
46#endif
47
48#endif /* CR_LIST_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette