enum arg_type {
AT_STRING,
+ AT_INT,
AT_DOUBLE,
AT_DIMEN,
AT_TYPE_MASK = 0xffff,
class arg_val {
public:
virtual bool given() { return false; }
- explicit virtual operator double() { abort(); }
- explicit virtual operator string() { abort(); }
- double double_default(double def) { return given() ? (double) *this : def; }
- const string string_default(const string def) { return given() ? (string) *this : def; }
+ int as_int(int def) { return def; }
+ double as_double(double def) { return def; }
+ const string as_string(const string def) { return def; }
virtual string dump() { return "<undef>"; }
};