]> gitweb.factorcode.org Git - factor.git/blob - basis/core-foundation/core-foundation.factor
use CONSTANT: in basis
[factor.git] / basis / core-foundation / core-foundation.factor
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
5
6 TYPEDEF: void* CFTypeRef
7
8 TYPEDEF: void* CFAllocatorRef
9 CONSTANT: kCFAllocatorDefault f
10
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
18
19 FUNCTION: CFTypeRef CFRetain ( CFTypeRef cf ) ;
20
21 FUNCTION: void CFRelease ( CFTypeRef cf ) ;
22
23 TUPLE: CFRelease-destructor alien disposed ;
24
25 M: CFRelease-destructor dispose* alien>> CFRelease ;
26
27 : &CFRelease ( alien -- alien )
28     dup f CFRelease-destructor boa &dispose drop ; inline
29
30 : |CFRelease ( alien -- alien )
31     dup f CFRelease-destructor boa |dispose drop ; inline