## Variables Table Variables Table — A table of variables with optional bound literal values. |

## Synopsis

    typedef             rasqal_variables_table;
    rasqal_variables_table* rasqal_new_variables_table      (rasqal_world *world);
    void                rasqal_free_variables_table         (rasqal_variables_table *vt);
    rasqal_variable*    rasqal_variables_table_add          (rasqal_variables_table *vt,
                                                             rasqal_variable_type type,
                                                             const char *name,
                                                             rasqal_literal *value);

## Description

A table of rasqal_variable usually associated with a rasqal_query query or rasqal_query_results query result set. The order of the variables in the table may be significant, such as for a standalone query result set in which case it might define the order of variables in resulting rows.

## Details

### rasqal_variables_table

    typedef struct rasqal_variables_table_s rasqal_variables_table;

Internal - for now

### rasqal_new_variables_table ()

    rasqal_variables_table* rasqal_new_variables_table      (rasqal_world *world);

Constructor - create a new variables table

`world` : | rasqal world
Returns : | new variables table or NULL On failure

### rasqal_free_variables_table ()

    void                rasqal_free_variables_table         (rasqal_variables_table *vt);

Destructor - destroy a new variables table

`vt` : | rasqal variables table

### rasqal_variables_table_add ()

    rasqal_variable*    rasqal_variables_table_add          (rasqal_variables_table *vt,
                                                             rasqal_variable_type type,
                                                             const char *name,
                                                             rasqal_literal *value);

Constructor - Create a new variable and add it to the variables table

The `name` and `value` become owned by the rasqal_variable structure

`vt` : | rasqal_variables_table to associate the variable with
`type` : | variable type defined by enumeration rasqal_variable_type
`name` : | variable name
`value` : | variable rasqal_literal value (or NULL)
Returns : | a new rasqal_variable or NULL on failure.