Supported Features

The two tables below indicate the level of support for various variable types and protobuf features.

Variable Type Support
double Full
float Full
int32 Full
int64 Full
uint32 Full
uint64 Full
sint32 Full
sint64 Full
fixed32 Full
fixed64 Full
sfixed32 Full
sfixed64 Full
bool Full
string Length fixed via template or custom option
bytes Length fixed via template or custom option
FeatureSupport
enumFull
Messages as variablesFull
Defining messages in messagesMinimal
mapsNot supported
anyNot supported
oneofFull
singularFull
repeatedLength fixed via template or custom option
optionalFull

The features mentioned above are of version proto3. At this moment proto2 is not supported by Embedded Proto. With regard to proto2 support google states the following:

Prefer proto3 while proto2 will continue to be supported, we encourage new codes to use proto3 instead, which is easier to use and supports more languages.

For this reason, it is unlikely that Embedded Proto will support proto2 in the future.