pike.git
/
src
/
mapping.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/mapping.h:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: mapping.h,v 1.
46
2002
/
11
/
25
00
:
20
:
47
mast
Exp $
+
|| $Id: mapping.h,v 1.
47
2003
/
01
/
10
12
:
49
:
03
grubba
Exp $
*/ #ifndef MAPPING_H #define MAPPING_H #include "las.h" #include "block_alloc_h.h" /* Compatible with PIKE_WEAK_INDICES and PIKE_WEAK_VALUES. */ #define MAPPING_WEAK_INDICES 2
pike.git/src/mapping.h:55:
extern struct mapping *first_mapping; extern struct mapping *gc_internal_mapping; #define map_delete(m,key) map_delete_no_free(m, key, 0) #define m_sizeof(m) ((m)->data->size) #define m_ind_types(m) ((m)->data->ind_types) #define m_val_types(m) ((m)->data->val_types) #define mapping_get_flags(m) ((m)->data->flags) #define MD_KEYPAIRS(MD, HSIZE) \
-
( (struct keypair *)DO_ALIGN( (
ptrdiff_t)
(((struct mapping_data *)(MD))->hash + HSIZE), ALIGNOF(struct keypair)) )
+
( (struct keypair *)DO_ALIGN( (
(char *
)(((struct mapping_data *)(MD))->hash + HSIZE)
)-(char *)0
, ALIGNOF(struct keypair)) )
#ifndef PIKE_MAPPING_KEYPAIR_LOOP #define NEW_MAPPING_LOOP(md) \ for((e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(md)) ) ;e<(md)->hashsize;e++) for(k=(md)->hash[e];k;k=k->next) /* WARNING: this should not be used */ #define MAPPING_LOOP(m) \ for((e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(m),debug_malloc_touch((m)->data))) ;e<(m)->data->hashsize;e++) for(k=(m)->data->hash[e];k;k=k->next) #else /* PIKE_MAPPING_KEYPAIR_LOOP */ #define NEW_MAPPING_LOOP(md) \