Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

apr_hash.h

Go to the documentation of this file.
00001 /* Copyright 2000-2004 The Apache Software Foundation 00002 * 00003 * Licensed under the Apache License, Version 2.0 (the "License"); 00004 * you may not use this file except in compliance with the License. 00005 * You may obtain a copy of the License at 00006 * 00007 * http://www.apache.org/licenses/LICENSE-2.0 00008 * 00009 * Unless required by applicable law or agreed to in writing, software 00010 * distributed under the License is distributed on an "AS IS" BASIS, 00011 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00012 * See the License for the specific language governing permissions and 00013 * limitations under the License. 00014 */ 00015 00016 #ifndef APR_HASH_H 00017 #define APR_HASH_H 00018 00024 #include "apr_pools.h" 00025 00026 #ifdef __cplusplus 00027 extern "C" { 00028 #endif 00029 00046 #define APR_HASH_KEY_STRING (-1) 00047 00051 typedef struct apr_hash_t apr_hash_t; 00052 00056 typedef struct apr_hash_index_t apr_hash_index_t; 00057 00063 APR_DECLARE(apr_hash_t *) apr_hash_make(apr_pool_t *pool); 00064 00072 APR_DECLARE(apr_hash_t *) apr_hash_copy(apr_pool_t *pool, 00073 const apr_hash_t *h); 00074 00083 APR_DECLARE(void) apr_hash_set(apr_hash_t *ht, const void *key, 00084 apr_ssize_t klen, const void *val); 00085 00093 APR_DECLARE(void *) apr_hash_get(apr_hash_t *ht, const void *key, 00094 apr_ssize_t klen); 00095 00124 APR_DECLARE(apr_hash_index_t *) apr_hash_first(apr_pool_t *p, apr_hash_t *ht); 00125 00132 APR_DECLARE(apr_hash_index_t *) apr_hash_next(apr_hash_index_t *hi); 00133 00143 APR_DECLARE(void) apr_hash_this(apr_hash_index_t *hi, const void **key, 00144 apr_ssize_t *klen, void **val); 00145 00151 APR_DECLARE(unsigned int) apr_hash_count(apr_hash_t *ht); 00152 00161 APR_DECLARE(apr_hash_t *) apr_hash_overlay(apr_pool_t *p, 00162 const apr_hash_t *overlay, 00163 const apr_hash_t *base); 00164 00178 APR_DECLARE(apr_hash_t *) apr_hash_merge(apr_pool_t *p, 00179 const apr_hash_t *h1, 00180 const apr_hash_t *h2, 00181 void * (*merger)(apr_pool_t *p, 00182 const void *key, 00183 apr_ssize_t klen, 00184 const void *h1_val, 00185 const void *h2_val, 00186 const void *data), 00187 const void *data); 00188 00192 APR_POOL_DECLARE_ACCESSOR(hash); 00193 00196 #ifdef __cplusplus 00197 } 00198 #endif 00199 00200 #endif /* !APR_HASH_H */

Generated on Tue Aug 10 17:42:34 2004 for Apache Portable Runtime by doxygen 1.3.7