1
1

Add protection for calling from C++

This commit was SVN r513.
Этот коммит содержится в:
Jeff Squyres 2004-01-22 00:27:37 +00:00
родитель 2faa227ca6
Коммит 2e2ebceb6a

Просмотреть файл

@ -30,7 +30,13 @@ struct lam_array_item_t
}; };
typedef struct lam_array_item_t lam_array_item_t; typedef struct lam_array_item_t lam_array_item_t;
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
void lam_arr_item_init(lam_array_item_t *item); void lam_arr_item_init(lam_array_item_t *item);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
/* /*
* *
@ -50,6 +56,9 @@ struct lam_array_t
typedef struct lam_array_t lam_array_t; typedef struct lam_array_t lam_array_t;
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
void lam_arr_init(lam_array_t *arr); void lam_arr_init(lam_array_t *arr);
void lam_arr_destroy(lam_array_t *arr); void lam_arr_destroy(lam_array_t *arr);
@ -60,6 +69,21 @@ bool lam_arr_init_with(lam_array_t *arr, size_t length);
bool lam_arr_append_item(lam_array_t *arr, lam_object_t *item); bool lam_arr_append_item(lam_array_t *arr, lam_object_t *item);
int lam_arr_index_of_item_matching(lam_array_t *arr, lam_object_t *item,
lam_arr_cmp_fn cmp_fn);
void lam_arr_remove_all(lam_array_t *arr);
void lam_arr_remove_item(lam_array_t *arr, int index);
void lam_arr_remove_item_matching(lam_array_t *arr, lam_object_t *item,
lam_arr_cmp_fn cmp_fn);
void lam_arr_set_item(lam_array_t *arr, lam_object_t *item, int index);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
static inline lam_object_t *lam_arr_get_item(lam_array_t *arr, size_t index); static inline lam_object_t *lam_arr_get_item(lam_array_t *arr, size_t index);
static inline lam_object_t *lam_arr_get_item(lam_array_t *arr, size_t index) static inline lam_object_t *lam_arr_get_item(lam_array_t *arr, size_t index)
{ {
@ -76,18 +100,6 @@ static inline size_t lam_arr_get_size(lam_array_t *arr)
return arr->arr_size; return arr->arr_size;
} }
int lam_arr_index_of_item_matching(lam_array_t *arr, lam_object_t *item,
lam_arr_cmp_fn cmp_fn);
void lam_arr_remove_all(lam_array_t *arr);
void lam_arr_remove_item(lam_array_t *arr, int index);
void lam_arr_remove_item_matching(lam_array_t *arr, lam_object_t *item,
lam_arr_cmp_fn cmp_fn);
void lam_arr_set_item(lam_array_t *arr, lam_object_t *item, int index);
static inline lam_object_t **lam_arr_get_c_array(lam_array_t *arr, static inline lam_object_t **lam_arr_get_c_array(lam_array_t *arr,
size_t *size); size_t *size);
static inline lam_object_t **lam_arr_get_c_array(lam_array_t *arr, static inline lam_object_t **lam_arr_get_c_array(lam_array_t *arr,