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 ;
							 |