axutil_array_list.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_ARRAY_LIST_H
00019 #define AXUTIL_ARRAY_LIST_H
00020 
00033 #include <axutil_utils_defines.h>
00034 #include <axutil_env.h>
00035 
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040 
00041     static const int AXIS2_ARRAY_LIST_DEFAULT_CAPACITY = 16;
00042 
00046     typedef struct axutil_array_list axutil_array_list_t;
00047 
00054     AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL axutil_array_list_create(
00055         const axutil_env_t *env,
00056         int capacity);
00057 
00063     AXIS2_EXTERN void AXIS2_CALL
00064     axutil_array_list_free_void_arg(
00065         void *array_list,
00066         const axutil_env_t *env);
00067 
00077     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00078     axutil_array_list_ensure_capacity(
00079         struct axutil_array_list *array_list,
00080         const axutil_env_t *env,
00081         int min_capacity);
00082 
00089     AXIS2_EXTERN int AXIS2_CALL 
00090     axutil_array_list_size(
00091         struct axutil_array_list *array_list,
00092         const axutil_env_t *env);
00093 
00100     AXIS2_EXTERN axis2_bool_t AXIS2_CALL 
00101     axutil_array_list_is_empty(
00102         struct axutil_array_list *array_list,
00103         const axutil_env_t *env);
00104 
00112     AXIS2_EXTERN axis2_bool_t AXIS2_CALL 
00113     axutil_array_list_contains(
00114         struct axutil_array_list *array_list,
00115         const axutil_env_t *env,
00116         void *e);
00117 
00127     AXIS2_EXTERN int AXIS2_CALL 
00128     axutil_array_list_index_of(
00129         struct axutil_array_list *array_list,
00130         const axutil_env_t *env,
00131         void *e);
00132 
00140     AXIS2_EXTERN void* AXIS2_CALL 
00141     axutil_array_list_get(struct axutil_array_list *array_list,
00142         const axutil_env_t *env,
00143         int index);
00144 
00154     AXIS2_EXTERN void* AXIS2_CALL 
00155     axutil_array_list_set(
00156         struct axutil_array_list *array_list,
00157         const axutil_env_t *env,
00158         int index,
00159         void* e);
00160 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00170     axutil_array_list_add(
00171         struct axutil_array_list *array_list,
00172         const axutil_env_t *env,
00173         const void* e);
00174 
00185     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00186     axutil_array_list_add_at(
00187         struct axutil_array_list *array_list,
00188         const axutil_env_t *env,
00189         const int index,
00190         const void* e);
00191 
00199     AXIS2_EXTERN void* AXIS2_CALL 
00200     axutil_array_list_remove(struct axutil_array_list *array_list,
00201         const axutil_env_t *env,
00202         int index);
00203 
00211     AXIS2_EXTERN axis2_bool_t AXIS2_CALL 
00212     axutil_array_list_check_bound_inclusive(
00213         struct axutil_array_list *array_list,
00214         const axutil_env_t *env,
00215         int index);
00216 
00224     AXIS2_EXTERN axis2_bool_t AXIS2_CALL 
00225     axutil_array_list_check_bound_exclusive(
00226         struct axutil_array_list *array_list,
00227         const axutil_env_t *env,
00228         int index);
00229 
00235     AXIS2_EXTERN void AXIS2_CALL 
00236     axutil_array_list_free(
00237         struct axutil_array_list *array_list,
00238         const axutil_env_t *env);
00239 
00240 #ifdef __cplusplus
00241 }
00242 #endif
00243 
00244 #endif    /* AXIS2_ARRAY_LIST_H */

Generated on Thu May 3 12:31:01 2007 for Axis2/C by  doxygen 1.4.6