template <typename T = ::protozero::Message>
class HeapBuffered
Defined at line 131 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
Helper function to create heap-based protozero messages in one line.
Useful when manually serializing a protozero message (primarily in
tests/utilities). So instead of the following:
protozero::MyMessage msg;
protozero::ScatteredHeapBuffer shb;
protozero::ScatteredStreamWriter writer(
&shb
);
shb.set_writer(
&writer
);
msg.Reset(
&writer
);
...
You can write:
protozero::HeapBuffered
<protozero
::MyMessage> msg;
msg->set_stuff(...);
msg.SerializeAsString();
Public Methods
void HeapBuffered<T> ()
Defined at line 133 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
void HeapBuffered<T> (size_t initial_slice_size_bytes, size_t maximum_slice_size_bytes)
Defined at line 134 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
void HeapBuffered<T> (const HeapBuffered<T> & )
This can't be neither copied nor moved because Message hands out pointers
to itself when creating submessages.
Defined at line 143 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
HeapBuffered<T> & operator= (const HeapBuffered<T> & )
Defined at line 144 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
void HeapBuffered<T> (HeapBuffered<T> && )
Defined at line 145 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
HeapBuffered<T> & operator= (HeapBuffered<T> && )
Defined at line 146 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
T * get ()
Defined at line 148 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
T * operator-> ()
Defined at line 149 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
bool empty ()
Defined at line 151 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
std::vector<uint8_t> SerializeAsArray ()
Defined at line 153 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
std::string SerializeAsString ()
Defined at line 158 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
std::pair<std::unique_ptr<uint8_t[]>, size_t> SerializeAsUniquePtr ()
Defined at line 163 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
std::vector<protozero::ContiguousMemoryRange> GetRanges ()
Defined at line 168 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
const std::vector<ScatteredHeapBuffer::Slice> & GetSlices ()
Defined at line 173 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h
void Reset ()
Defined at line 178 of file ../../third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h