… | |
… | |
247 | void put (keyword k, unsigned long v) { put_(k, (sint64)v); } |
247 | void put (keyword k, unsigned long v) { put_(k, (sint64)v); } |
248 | void put (keyword k, signed long long v) { put_(k, (sint64)v); } |
248 | void put (keyword k, signed long long v) { put_(k, (sint64)v); } |
249 | void put (keyword k, unsigned long long v) { put_(k, (sint64)v); } |
249 | void put (keyword k, unsigned long long v) { put_(k, (sint64)v); } |
250 | |
250 | |
251 | template<typename T> |
251 | template<typename T> |
252 | void put (keyword k, T *v) |
252 | void put (keyword k, const T *v) |
253 | { |
253 | { |
254 | if (v) |
254 | if (v) |
255 | put (k, v->name); |
255 | put (k, v->name); |
256 | else |
256 | else |
257 | put (k, (const char *)0); |
257 | put (k, (const char *)0); |
258 | } |
258 | } |
259 | |
259 | |
|
|
260 | template<typename T> |
|
|
261 | void put (keyword k, const refptr<T> &v) |
|
|
262 | { |
|
|
263 | put (k, (T *)v); |
|
|
264 | } |
|
|
265 | |
260 | bool save (const char *filename); |
266 | bool save (const char *filename); |
|
|
267 | char *as_string (); // like strdup |
261 | |
268 | |
262 | operator bool () { return !!av; } |
269 | operator bool () { return !!av; } |
263 | }; |
270 | }; |
264 | |
271 | |
265 | // compatibility support, should be removed when no longer needed |
272 | // compatibility support, should be removed when no longer needed |