1 /* Copyright (C) 2001-2019 Artifex Software, Inc. 2 All Rights Reserved. 3 4 This software is provided AS-IS with no warranty, either express or 5 implied. 6 7 This software is distributed under license and may not be copied, 8 modified or distributed except as expressly authorized under the terms 9 of the license contained in the file LICENSE in this distribution. 10 11 Refer to licensing information at http://www.artifex.com or contact 12 Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, 13 CA 94945, U.S.A., +1(415)492-9861, for further information. 14 */ 15 16 17 /* Dictionary API with implicit dict_stack argument */ 18 19 #ifndef iddict_INCLUDED 20 # define iddict_INCLUDED 21 22 #include "idict.h" 23 #include "icstate.h" /* for access to dict_stack */ 24 25 /* Define the dictionary stack instance for operators. */ 26 #define idict_stack (i_ctx_p->dict_stack) 27 28 #define idict_put(pdref, key, pvalue)\ 29 dict_put(pdref, key, pvalue, &idict_stack) 30 #define idict_put_string(pdref, kstr, pvalue)\ 31 dict_put_string(pdref, kstr, pvalue, &idict_stack) 32 #define idict_put_string_copy(pdref, kstr, pvalue)\ 33 dict_put_string_copy(pdref, kstr, pvalue, &idict_stack) 34 #define idict_undef(pdref, key)\ 35 dict_undef(pdref, key, &idict_stack) 36 #define idict_copy(dfrom, dto)\ 37 dict_copy(dfrom, dto, &idict_stack) 38 #define idict_copy_new(dfrom, dto)\ 39 dict_copy_new(dfrom, dto, &idict_stack) 40 #define idict_resize(pdref, newmax)\ 41 dict_resize(pdref, newmax, &idict_stack) 42 #define idict_grow(pdref)\ 43 dict_grow(pdref, &idict_stack) 44 #define idict_unpack(pdref)\ 45 dict_unpack(pdref, &idict_stack) 46 47 #endif /* iddict_INCLUDED */ 48