C++Now 2017 has ended
Back To Schedule
Tuesday, May 16 • 11:00am - 12:30pm
Rethinking Strings

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Slides: https://github.com/boostcon/cppnow_presentations_2017/blob/master/05-16-2017_tuesday/rethinking_strings__mark_zeren__cppnow_05-16-2017.pdf
Video: https://www.youtube.com/watch?v=OMbwbXZWtDM

At VMware `std::string` has served us well. We have built and shipped large
codebases around it. However, that experience has also taught us some of its
shortcomings. Now is a good time to take a step back and re-evaluate the string
design space. Why now? The context has changed dramatically since the dawn of
`basic_string`. The UTF family is the de facto encoding standard. 64bit
addressing will last much longer, in a much wider range of devices, than prior
addressing modes. We have `constexpr`, and soon will have ranges and
reflection. The library now includes `string_view`, all three major STL
implementations use the small string optimization, and Eric Neibler has given us
`folly::FixedString`. A `std::text_view` proposal is in flight. Even
`std::optional`, and smart pointers have some something to say about strings.

In this talk we will dissect strings along dimensions such as storage duration,
encoding, mutability, etc., and then see if we can knit it all back together
into a cohesive, modern, set of library and language features. I won't have all
the answers, so show up and speak up!

avatar for Mark Zeren

Mark Zeren

Sr. Staff, VMware Inc.
Mark is a staff engineer at VMware where he works on Bazel builds, C++ libraries, coding standards, and toolchains.

Tuesday May 16, 2017 11:00am - 12:30pm MDT
Hudson Commons