Daveed Vandevoorde wrote:On Jan 18, 2022, at 1:46 PM, Peter Dimov <pdimov@gmail.com> wrote:
Daveed Vandevoorde wrote:
How about specifying that all string_view results from reflection
functions (there aren’t that many) have a null-terminated data()?
E,g,:
auto len = std::strlen(name_of(^S).data()); // Okay and as
intuitively expected.
Works for me, with the minor addition of `constexpr` before `auto len`.
Can you elaborate on the minor addition? Are you just asking for std::strlen to
be guaranteed evaluatable at compile time for strings?
For the specific strings obtained by some_reflection_function().data(), yes.constexpr auto len = std::strlen(name_of(^S).data());
That seems reasonable, but it feels a bit orthogonal to P1240. I.e., it would be weird if those were the _only_ strings for which that worked.
Presumably, it should work for any core-constant null-terminated char array?
Daveed