Hi,
On 2013-11-11 21:14, Larry Evans wrote:
On 11/11/13 13:35, Abel Sinkovics wrote:
There is a library (Metaparse) which supports creating a string-based interface for libraries which is processed at compile-time. It could be used to provide a string-based interface. For example instead of this:
auto result = db.run(select(persons.name, persons.salary).from(persons).where(persons.id == 17));
Your library could have the following interface:
auto result = db.run(QUERY("select name,salary from persons where id=17"));
Metaparse requires const char[N] arguments, right?
No. It uses the preprocessor to generate something like metaparse::string<'s','e','l','e','c','t',' ','n',',...> The downside is, that metaparse has a configurable maximum string length and increasing it also increases compile times. I am not sure, weather it would be possible to have reasonable compile times with SQL strings as they exist in real world applications. Christof -- okunah gmbh i.L. Software nach Maß Zugspitzstr. 211 www.okunah.de 86165 Augsburg cd@okunah.de Registergericht Augsburg Geschäftsführer Augsburg HRB 21896 Christof Donat UStID: DE 248 815 055