VirtualBox

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

Last change on this file since 36843 was 15532, checked in by vboxsync, 16 years ago

crOpenGL: export to OSE

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.5 KB
Line 
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 */
Note: See TracBrowser for help on using the repository browser.

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