flext 0.6.2
fldefs_attrvar.h
Go to the documentation of this file.
1/*
2flext - C++ layer for Max and Pure Data externals
3
4Copyright (c) 2001-2015 Thomas Grill (gr@grrrr.org)
5For information on usage and redistribution, and for a DISCLAIMER OF ALL
6WARRANTIES, see the file, "license.txt," in this distribution.
7*/
8
14#ifndef __FLEXT_DEFS_ATTRVAR_H
15#define __FLEXT_DEFS_ATTRVAR_H
16
17
21#define FLEXT_ATTRSET_(VAR,TP) \
22static bool FLEXT_SET_PRE(VAR)(flext_base *c,TP &arg) \
23{ FLEXT_CAST<thisType *>(c)->VAR = arg; return true; }
24
28#define FLEXT_ATTRGET_(VAR,TP) \
29static bool FLEXT_GET_PRE(VAR)(flext_base *c,TP &arg) \
30{ arg = (TP)FLEXT_CAST<thisType *>(c)->VAR; return true; }
31
32
33
40#define FLEXT_ATTRSET_F(VAR) \
41\
42FLEXT_ATTRSET_(VAR,float)
43
45#define FLEXT_ATTRSET_I(VAR) \
46\
47FLEXT_ATTRSET_(VAR,int)
48
50#define FLEXT_ATTRSET_S(VAR) \
51\
52FLEXT_ATTRSET_(VAR,const t_symbol *)
53
55#define FLEXT_ATTRSET_B(VAR) \
56\
57FLEXT_ATTRSET_(VAR,bool)
58/*
59static bool FLEXT_SET_PRE(VAR)(flext_base *c,int &arg) \
60{ FLEXT_CAST<thisType *>(c)->VAR = arg != 0; return true; }
61*/
62
64#define FLEXT_ATTRSET_E(VAR,TP) \
65\
66FLEXT_ATTRSET_(VAR,TP)
67
69#define FLEXT_ATTRSET_V(VAR) \
70static bool FLEXT_SET_PRE(VAR)(flext_base *c,flext::AtomList *&arg) \
71{ FLEXT_CAST<thisType *>(c)->VAR = *arg; return true; }
72
74
81#define FLEXT_ATTRGET_F(VAR) \
82\
83FLEXT_ATTRGET_(VAR,float)
84
86#define FLEXT_ATTRGET_I(VAR) \
87\
88FLEXT_ATTRGET_(VAR,int)
89
91#define FLEXT_ATTRGET_S(VAR) \
92\
93FLEXT_ATTRGET_(VAR,const t_symbol *)
94
96#define FLEXT_ATTRGET_B(VAR) \
97\
98FLEXT_ATTRGET_(VAR,bool)
99/*
100static bool FLEXT_GET_PRE(VAR)(flext_base *c,int &arg) \
101{ arg = FLEXT_CAST<thisType *>(c)->VAR?1:0; return true; }
102*/
103
105#define FLEXT_ATTRGET_E(VAR,TP) \
106\
107FLEXT_ATTRGET_(VAR,TP)
108
110#define FLEXT_ATTRGET_V(VAR) \
111static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \
112{ *arg = FLEXT_CAST<thisType *>(c)->VAR; return true; }
113
115
116
123#define FLEXT_ATTRVAR_F(VAR) \
124\
125FLEXT_ATTRGET_F(VAR) FLEXT_ATTRSET_F(VAR)
126
128#define FLEXT_ATTRVAR_I(VAR) \
129\
130FLEXT_ATTRGET_I(VAR) FLEXT_ATTRSET_I(VAR)
131
133#define FLEXT_ATTRVAR_S(VAR) \
134\
135FLEXT_ATTRGET_S(VAR) FLEXT_ATTRSET_S(VAR)
136
138#define FLEXT_ATTRVAR_B(VAR) \
139\
140FLEXT_ATTRGET_B(VAR) FLEXT_ATTRSET_B(VAR)
141
143#define FLEXT_ATTRVAR_E(VAR,TP) \
144\
145FLEXT_ATTRGET_(VAR,TP) FLEXT_ATTRSET_(VAR,TP)
146
148#define FLEXT_ATTRVAR_V(VAR) \
149\
150FLEXT_ATTRGET_V(VAR) FLEXT_ATTRSET_V(VAR)
151
152
154
155
156#endif