www.pudn.com > common-1.2.8.zip > asarray.h


/* 
 * FILE:    asarray.h 
 * AUTHORS: Orion Hodson  
 * 
 * Associative array for strings.  Perloined from RAT settings code. 
 * 
 * Copyright (c) 1999-2000 University College London 
 * All rights reserved. 
 * 
 * $Id: asarray.h,v 1.1 2000/02/11 18:34:16 ucacoxh Exp $ 
 */ 
 
#ifndef __AS_ARRAY_H 
#define __AS_ARRAY_H 
 
typedef struct _asarray asarray; 
 
#if defined(__cplusplus) 
extern "C" { 
#endif 
 
/* Associative array for strings only.  Makes own internal copies of 
 * keys and values. 
 * 
 * Functions that return use TRUE for success and FALSE for failure. 
 * Double pointers in arguments are filled in by the function being  
 * called. 
 */ 
 
int32_t     asarray_create  (asarray **ppa); 
void        asarray_destroy (asarray **ppa); 
 
int32_t     asarray_add    (asarray *pa, const char *key, const char *value); 
void        asarray_remove (asarray *pa, const char *key); 
int32_t     asarray_lookup (asarray *pa, const char *key, char **value); 
 
/* asarray_get_key - gets key corresponding to index'th entry in 
 * internal representation, has not relation to order  
 * tuples added in.  This function exists to provide easy way to drain 
 * array one item at a time.  
 */ 
const char* asarray_get_key_no(asarray *pa, int32_t index); 
 
#if defined(__cplusplus) 
} 
#endif 
 
#endif /* __AS_ARRAY_H */