diff options
author | Martijn Vels <mvels@google.com> | 2022-10-13 08:04:00 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-10-13 08:04:44 -0700 |
commit | 3af3e6386d7f71f55d60c0ba318bcc4eaebdfab4 (patch) | |
tree | 523541fffe93df455b7cd7a4d41efe93d0dd15e1 /absl/random/internal/traits_test.cc | |
parent | fbe4660185b76c4b8f1f57ea14c5c3beea955ad1 (diff) |
Reorganize InlineData into an inner Rep structure.
This moves inlined code around a bit without changing anything bar the names of things. The purpose for all this is that it greatly simplifies the process of adding memory poisining to Cord / InlineData. InlineData can have scoped poison / unpoison regions around the interface, calling into rep for the 'real code'. I.e.:
Rep::as_chars() { return &inline_data[1]; }
InlineData::as_chars() {
Unpoisoned self(this);
return rep_.as_chars();
}
Likewise, it greatly simplifies intercepting the code for constructors, copy constructors and operator= logic.
PiperOrigin-RevId: 480893031
Change-Id: I050c88caff2315939d95a0361ae20528be36a96b
Diffstat (limited to 'absl/random/internal/traits_test.cc')
0 files changed, 0 insertions, 0 deletions