template <size_t RequestedSpace>

class MicroStringExtraImpl

Defined at line 566 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

MicroStringExtra lays out the memory as:

[ MicroString ] [ extra char buffer ]

which in little endian ends up as

[ char size/tag ] [ MicroStrings's inline space ] [ extra char buffer ]

so from the inline_head() position we can access all the normal and extra

buffer bytes.

This does not work on bigendian so we disable Extra for now there.

Public Members

static const size_t kInlineCapacity

Public Methods

void MicroStringExtraImpl<RequestedSpace> ()

Defined at line 579 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void MicroStringExtraImpl<RequestedSpace> (Arena * arena, const MicroStringExtraImpl<RequestedSpace> & other)

Defined at line 585 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void Set (const MicroStringExtraImpl<RequestedSpace> & other, Arena * arena)

Redefine the setters, passing the extended inline capacity.

Defined at line 590 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void Set (absl::string_view data, Arena * arena)

Defined at line 593 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void Set (const std::string & data, Arena * arena)

Defined at line 596 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void Set (const char * data, Arena * arena)

Defined at line 599 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void Set (std::string && str, Arena * arena)

Defined at line 602 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void SetAlias (absl::string_view data, Arena * arena)

Defined at line 606 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

size_t Capacity ()

Defined at line 612 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

void InternalSwap (MicroStringExtraImpl<RequestedSpace> * other)

Defined at line 616 of file ../../third_party/protobuf/src/src/google/protobuf/micro_string.h

Friends

template <size_t RequestedSpace>
class MicroString