
Hi Roland, On 2015-06-07 21:30, Roland Bock wrote:
In sqlpp11 the char_sequence contains a static function that returns a const char*. Storing a reference/pointer to the "original" array does not seem to work in all cases (after being handed through some template aliases, they seem to break).
The char_sequence is used to compare names of objects representing columns, tables and the like. Instead of comparing actual strings at compile time, the library can compare types.
Also, the char_sequence is used in serializing expressions (this is where that static function comes into play).
So sqlpp's use case is different from Metaparse's. (comparisons instead of interpreting the content).
Right. With the input from Evgeny I was able to change that to the extent, that I can now use them in-place as function arguments (but not as template parameters or type declarations like yours).
Hmm. This might lead to an alternative syntax, btw. Instead of
using X = typename exp_parser3::apply
::type; we could call
auto x = exp_parser3::apply(MPLLIBS_STRING("11 "));
Not sure if and how this could be useful in the context of your library.
I expect to end up with a similar interface to this alternate one when
trying to build a Metaparse-like library around Hana.
Using parsers built with Metaparse the result of parsing can be used as
a template argument. For example:
some_template