repos
/
smoke
/ annotate_shade
summary
|
shortlog
|
log
|
tree
|
commit
|
commitdiff
|
headdiff
|
annotate
|
headblob
|
headfilediff
|
filehistory
normal
|
plain
|
shade
|
zebra
Don't dispatch virtual methods for builtin classes (reduces overhead).
Annotate for file src/libsmoke/class.lisp
2009-04-05 tobias
1
(in-package #:smoke)
15:36:29 '
2
'
3
(defcenum smoke-class-flags
'
4
"Class properties"
'
5
(:constructor #x01)
'
6
(:copy-constructor #x02)
'
7
(:virtual-destructor #x04)
2010-02-18 tobias
8
(:namespace #x08)
2009-04-05 tobias
9
(:undefined #x10))
15:36:29 '
10
'
11
(defcstruct smoke-class
'
12
"Describe a class"
'
13
(name :string)
'
14
(external cxx-bool)
'
15
(parents smoke-index)
'
16
(class-function :pointer)
'
17
(enum-function :pointer)
2009-12-13 tobias
18
(flags :unsigned-short)
10:17:08 '
19
(size :unsigned-int))
2009-04-05 tobias
20
2010-01-10 tobias
21
(defcfun (smoke-find-class "cl_smoke_find_class") :void
2009-04-05 tobias
22
(m :pointer smoke-module-index)
15:36:29 '
23
(name :string))
'
24
2010-02-18 tobias
25
(declaim (inline smoke-class-id))
2010-01-10 tobias
26
(defcfun (smoke-class-id "cl_smoke_class_id") smoke-index
2009-04-05 tobias
27
(smoke :pointer)
15:36:29 '
28
(name :string))
'
29
2010-01-10 tobias
30
(defcfun (smoke-get-class "cl_smoke_get_class") (:pointer smoke-class)
2009-04-05 tobias
31
(smoke :pointer)
15:36:29 '
32
(class smoke-index))
'
33
2010-01-10 tobias
34
(defcfun (smoke-is-derived-from "cl_smoke_is_derived_from") :boolean
2009-04-05 tobias
35
(smoke :pointer)
15:36:29 '
36
(class smoke-index)
'
37
(smoke-base :pointer)
'
38
(base-class smoke-index))
'
39
2010-01-10 tobias
40
(defcfun (smoke-cast "cl_smoke_cast") :pointer
2009-04-05 tobias
41
(smoke :pointer)
15:36:29 '
42
(object :pointer)
'
43
(from smoke-index)
'
44
(to smoke-index))