Adam Wulkiewicz wrote:
Adam Wulkiewicz wrote:
Tongari J wrote:
2014-08-26 19:43 GMT+08:00 Adam Wulkiewicz
: Tongari J wrote:
Hi Louis,
2014-08-26 0:01 GMT+08:00 Louis Dionne
: This is genius, thanks a lot for posting. I've been searching for a way to do this to implement compile-time strings in Boost.Hana[1].
Glad to hear :) Actually I've found an even simpler way:
Nice! And with some small tweaks it works in C++11, assuming you have some implementation of index_sequence:
I believe this still requires C++14 for returning the local struct in lambda, which is not a one-liner.
I'm not that well versed in the ways of the standard but I do know that it compiles in GCC 4.8.1, 4.8.3, 4.9.1 and clang 3.4 with -std=c++11 switch. So either those compilers are buggy or C++14 isn't really required. As said before MSVC2013 complains about something else.
Actually besides the complaining about static data member in local struct (get() member function) MSVC2013 indeed complains about the returning of local struct. AFAIU all of the presented implementations should fail on this compiler.
A remark, the first mentioned MSVC error is caused by the lack of the support for 'constexpr' keyword in this compiler.
Regards, Adam