factor/basis/core-foundation/dictionaries/dictionaries.factor

35 lines
972 B
Factor
Raw Normal View History

2009-01-16 19:41:21 -05:00
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
2011-09-26 16:42:32 -04:00
USING: accessors alien.c-types alien.data alien.syntax assocs
core-foundation kernel sequences specialized-arrays ;
2009-01-16 19:41:21 -05:00
IN: core-foundation.dictionaries
SPECIALIZED-ARRAY: void*
2009-01-16 19:41:21 -05:00
TYPEDEF: void* CFDictionaryRef
TYPEDEF: void* CFMutableDictionaryRef
C-TYPE: CFDictionaryKeyCallBacks
C-TYPE: CFDictionaryValueCallBacks
2009-01-16 19:41:21 -05:00
FUNCTION: CFDictionaryRef CFDictionaryCreate (
CFAllocatorRef allocator,
void** keys,
void** values,
CFIndex numValues,
CFDictionaryKeyCallBacks* keyCallBacks,
CFDictionaryValueCallBacks* valueCallBacks
) ;
2009-01-19 00:44:02 -05:00
FUNCTION: void* CFDictionaryGetValue (
CFDictionaryRef theDict,
void* key
) ;
2009-01-16 19:41:21 -05:00
: <CFDictionary> ( alist -- dictionary )
[ kCFAllocatorDefault ] dip
unzip [ void* >c-array ] bi@
2009-01-19 00:44:02 -05:00
[ [ underlying>> ] bi@ ] [ nip length ] 2bi
&: kCFTypeDictionaryKeyCallBacks
&: kCFTypeDictionaryValueCallBacks
CFDictionaryCreate ;