28 lines
892 B
Factor
28 lines
892 B
Factor
! Copyright (C) 2009 Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: alien.syntax core-foundation kernel assocs alien.c-types
|
|
specialized-arrays.alien math sequences accessors ;
|
|
IN: core-foundation.dictionaries
|
|
|
|
TYPEDEF: void* CFDictionaryRef
|
|
TYPEDEF: void* CFMutableDictionaryRef
|
|
TYPEDEF: void* CFDictionaryKeyCallBacks*
|
|
TYPEDEF: void* CFDictionaryValueCallBacks*
|
|
|
|
FUNCTION: CFDictionaryRef CFDictionaryCreate (
|
|
CFAllocatorRef allocator,
|
|
void** keys,
|
|
void** values,
|
|
CFIndex numValues,
|
|
CFDictionaryKeyCallBacks* keyCallBacks,
|
|
CFDictionaryValueCallBacks* valueCallBacks
|
|
) ;
|
|
|
|
: <CFDictionary> ( alist -- dictionary )
|
|
[ kCFAllocatorDefault ] dip
|
|
unzip [ >void*-array ] bi@
|
|
dup length "void*" heap-size /i
|
|
[ [ underlying>> ] bi@ ] dip
|
|
&: kCFTypeDictionaryCallBacks
|
|
&: kCFTypeDictionaryValueCallbacks
|
|
CFDictionaryCreate ; |