1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.data alien.syntax core-foundation
4 kernel assocs specialized-arrays math sequences accessors ;
5 IN: core-foundation.dictionaries
7 SPECIALIZED-ARRAY: void*
9 TYPEDEF: void* CFDictionaryRef
10 TYPEDEF: void* CFMutableDictionaryRef
11 C-TYPE: CFDictionaryKeyCallBacks
12 C-TYPE: CFDictionaryValueCallBacks
14 FUNCTION: CFDictionaryRef CFDictionaryCreate (
15 CFAllocatorRef allocator,
19 CFDictionaryKeyCallBacks* keyCallBacks,
20 CFDictionaryValueCallBacks* valueCallBacks
23 FUNCTION: void* CFDictionaryGetValue (
24 CFDictionaryRef theDict,
28 : <CFDictionary> ( alist -- dictionary )
29 [ kCFAllocatorDefault ] dip
30 unzip [ void* >c-array ] bi@
31 [ [ underlying>> ] bi@ ] [ nip length ] 2bi
32 &: kCFTypeDictionaryKeyCallBacks
33 &: kCFTypeDictionaryValueCallBacks