Boost logo

Boost :

From: Mike (mike.dev_at_[hidden])
Date: 2019-09-12 13:19:41


> Gesendet: Donnerstag, 12. September 2019 um 13:14 Uhr
> Von: "Vinnie Falco via Boost" <boost_at_[hidden]>
>
> On Thu, Sep 12, 2019 at 2:38 AM Dominique Devienne via Boost
> <boost_at_[hidden]> wrote:
> > Which is a much better name IMHO
>
> The name is the least important thing right now it can always be
> changed...can we please focus on substantive issues?

Not sure, if this counts as substantial, but aside from making
the string constexpr as suggested by degski (probably only
useful/possible in c++14), have you considered

a) to make the string trivially copyable (simply copy the whole
storage, not just the bytes actually containing the string).
This might make things easier for the optimizer.

b) to conditionally enable support for std::string_view in c++17
    (implicit conversion to and explicit construction from string_view)

Regarding the idea of making this less "templaty"

- I don't think is important enough to introduce a virtual function
  It makes things for the optimizer just so much harder.

- Given, that the full type has to be a template anyway,
  I'm very skeptical if any technique provides enough benefit
  in terms of compile times to warrant the additional overhead
  and maybe complexity that the necessary indirection would
  incur.

- The Traits template parameter might be a valid candidate for
  removal. I certainly never needed it, but my guess is that
  removing it makes only sense, if you also only support plain
  char (i.e. no wchar or char32_t) as a character type.

I like the to_fixed_string function btw.

Best

Mike


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk