Merge branch 'master' of git://factorcode.org/git/factor
[factor/jcg.git] / basis / core-foundation / core-foundation.factor
blobec83ba7a8bd5f5f7ba04d4296d09681d7a2ed5e0
1 ! Copyright (C) 2006, 2008 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.syntax destructors accessors kernel ;
4 IN: core-foundation
6 TYPEDEF: void* CFTypeRef
8 TYPEDEF: void* CFAllocatorRef
9 : kCFAllocatorDefault f ; inline
11 TYPEDEF: bool Boolean
12 TYPEDEF: long CFIndex
13 TYPEDEF: int SInt32
14 TYPEDEF: uint UInt32
15 TYPEDEF: ulong CFTypeID
16 TYPEDEF: UInt32 CFOptionFlags
17 TYPEDEF: void* CFUUIDRef
19 FUNCTION: CFTypeRef CFRetain ( CFTypeRef cf ) ;
21 FUNCTION: void CFRelease ( CFTypeRef cf ) ;
23 TUPLE: CFRelease-destructor alien disposed ;
25 M: CFRelease-destructor dispose* alien>> CFRelease ;
27 : &CFRelease ( alien -- alien )
28     dup f CFRelease-destructor boa &dispose drop ; inline
30 : |CFRelease ( alien -- alien )
31     dup f CFRelease-destructor boa |dispose drop ; inline