$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] sqlpp11: SQL for C++
From: Christof Donat (cd_at_[hidden])
Date: 2013-11-11 15:59:22
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_at_[hidden]
                                      Registergericht Augsburg
Geschäftsführer                             Augsburg HRB 21896
Christof Donat                           UStID: DE 248 815 055