insrcdata : embed your data

a source code generator for embedding tabular data as a static array

insrcdata is available for the languages: 
Rust 

overview

Given a table containg a list of prime ministers :
identifier name birth country country name
DavidCameron David Cameron 1966 GB United Kingdom
GordonBrown Gordon Brown 1951 GB United Kingdom
RomanoProdi Romano Prodi 1939 IT Italy

With insrcdata you will be able to :

• retrieve individual elements

 const minister_t* g_brown = minister_from_ministers(MINISTERS_DAVID_CAMERON);

• access their attributes

printf("%s was born in %d.\n", minister_name(g_brown), minister_birth(g_brown));

• navigate between linked tables

const country_t* country = minister_country(g_brown);
printf("He was prime minister of %s.\n", country_name(country));

• use indexed searches

minister_iter_t iter = minister_birth_range(1900, 1960);
const minister_t* minister;
while( (minister = minister_next(&iter)) ){
      printf("%s\n", minister_name(minister));
}

• perform reverse lookup between tables

const country_t* gb = country_from_countries(COUNTRIES_GB);
minister_iter_t iter = country_ministers(gb);
const minister_t* minister;
while( (minister = minister_next(&iter)) ){
      printf("%s\n", minister_name(minister));
}

and many more things...