Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / mono-mlist.h
1 /**
2  * \file
3  */
4
5 #ifndef __MONO_METADATA_MONO_MLIST_H__
6 #define __MONO_METADATA_MONO_MLIST_H__
7
8 /*
9  * mono-mlist.h: Managed object list implementation
10  */
11
12 #include <mono/metadata/object.h>
13
14 typedef struct _MonoMList MonoMList;
15 MONO_RT_EXTERNAL_ONLY
16 MONO_API MonoMList*  mono_mlist_alloc       (MonoObject *data);
17 MONO_API MonoObject* mono_mlist_get_data    (MonoMList* list);
18 MONO_API void        mono_mlist_set_data    (MonoMList* list, MonoObject *data);
19 MONO_API MonoMList*  mono_mlist_set_next    (MonoMList* list, MonoMList *next);
20 MONO_API int         mono_mlist_length      (MonoMList* list);
21 MONO_API MonoMList*  mono_mlist_next        (MonoMList* list);
22 MONO_API MonoMList*  mono_mlist_last        (MonoMList* list);
23 MONO_RT_EXTERNAL_ONLY
24 MONO_API MonoMList*  mono_mlist_prepend     (MonoMList* list, MonoObject *data);
25 MONO_RT_EXTERNAL_ONLY
26 MONO_API MonoMList*  mono_mlist_append      (MonoMList* list, MonoObject *data);
27
28 MonoMList*  mono_mlist_prepend_checked      (MonoMList* list, MonoObject *data, MonoError *error);
29 MonoMList*  mono_mlist_append_checked       (MonoMList* list, MonoObject *data, MonoError *error);
30
31 MONO_API MonoMList*  mono_mlist_remove_item (MonoMList* list, MonoMList *item);
32
33 #endif /* __MONO_METADATA_MONO_MLIST_H__ */
34