+ bool interpreted_as_string;
+ union {
+ long number;
+ t_addr address;
+ t_mem data;
+ class cl_mem *memory;
+ class cl_hw *hw;
+ struct {
+ int len;
+ char *string;
+ } string;
+ struct {
+ t_mem *array;
+ int len;
+ } data_list;
+ struct {
+ class cl_mem *mem;
+ t_addr mem_address;
+ t_mem mask;
+ } bit;
+ } value;
+
+public:
+ cl_cmd_arg(/*class cl_uc *iuc,*/ long i): cl_arg(i)
+ { /*uc= iuc;*/ interpreted_as_string= DD_FALSE; }
+ cl_cmd_arg(/*class cl_uc *iuc,*/ char *s): cl_arg(s)
+ { /*uc= iuc;*/ interpreted_as_string= DD_FALSE; }
+ virtual ~cl_cmd_arg(void);
+
+ virtual int is_string(void) { return(DD_FALSE); }
+ virtual bool get_address(class cl_uc *uc, t_addr *addr) { return(DD_FALSE); }
+ virtual bool as_address(class cl_uc *uc);
+ virtual bool as_number(void);
+ virtual bool as_data(void);
+ virtual bool as_string(void);
+ virtual bool as_memory(class cl_uc *uc);
+ virtual bool as_hw(class cl_uc *uc);
+ virtual bool as_bit(class cl_uc *uc);