21 lines
		
	
	
		
			719 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			719 B
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2009 Slava Pestov.
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: math assocs kernel sequences byte-arrays strings
 | 
						|
hashtables alien destructors
 | 
						|
core-foundation.numbers core-foundation.strings
 | 
						|
core-foundation.arrays core-foundation.dictionaries
 | 
						|
core-foundation.data core-foundation ;
 | 
						|
IN: core-foundation.utilities
 | 
						|
 | 
						|
GENERIC: (>cf) ( obj -- cf )
 | 
						|
 | 
						|
M: number (>cf) <CFNumber> ;
 | 
						|
M: t (>cf) <CFNumber> ;
 | 
						|
M: f (>cf) <CFNumber> ;
 | 
						|
M: string (>cf) <CFString> ;
 | 
						|
M: byte-array (>cf) <CFData> ;
 | 
						|
M: hashtable (>cf) [ [ (>cf) &CFRelease ] bi@ ] assoc-map <CFDictionary> ;
 | 
						|
M: sequence (>cf) [ (>cf) &CFRelease ] map <CFArray> ;
 | 
						|
M: alien (>cf) CFRetain ;
 | 
						|
 | 
						|
: >cf ( obj -- cf ) [ (>cf) ] with-destructors ; |