eccodes/src/expression.class

54 lines
1.8 KiB
Plaintext

typedef const char* string; /* to keep make_class.pl happy */
static void init_class (grib_expression_class*);
static void init(grib_expression* e);
static void destroy(grib_context*,grib_expression* e);
static void print(grib_context*,grib_expression*,grib_handle*);
static void add_dependency(grib_expression* e, grib_accessor* observer);
static string get_name(grib_expression* e);
static int native_type(grib_expression*,grib_handle*);
static int evaluate_long(grib_expression*,grib_handle*,long*);
static int evaluate_double(grib_expression*,grib_handle*,double*);
static string evaluate_string(grib_expression*,grib_handle*,char*,size_t*,int*);
typedef struct grib_expression_NAME{
grib_expression base;
MEMBERS
} grib_expression_NAME;
extern grib_expression_class* SUPER;
static grib_expression_class _grib_expression_class_NAME = {
&SUPER, /* super */
"NAME", /* name */
sizeof(grib_expression_NAME),/* size of instance */
0, /* inited */
&init_class, /* init_class */
&init, /* constructor */
&destroy, /* destructor */
&print,
&add_dependency,
&native_type,
&get_name,
&evaluate_long,
&evaluate_double,
&evaluate_string,
};
grib_expression_class* grib_expression_class_NAME = &_grib_expression_class_NAME;
ADD_TO_FILE grib_expression_class.h extern grib_expression_class* grib_expression_class_NAME;
ADD_TO_FILE grib_expression_factory.h { "NAME", &grib_expression_class_NAME, },
static void init_class(grib_expression_class* c)
{
INIT
}