message Msg {
enum Type {
A = 1;
B = 2;
}
optional Type type = 1 [ default = B ];
}
#include <iostream>
#include "opt.pb.h"
using namespace std;
int main(int argc, char** argv)
{
Msg msg;
if (msg.has_type()) {
cout << "default type is Enabled!" << endl;
} else {
cout << "default type is Optional" << endl;
}
string buf;
msg.SerializeToString(&buf);
msg.ParseFromString(buf);
if (msg.has_type()) {
cout << "default type is Enabled!" << endl;
} else {
cout << "default type is Optional" << endl;
}
Msg::Type t = msg.type();
cout << t << endl;
msg.set_type(Msg::A);
if (msg.has_type()) {
cout << "default type is Enabled!" << endl;
} else {
cout << "default type is Optional" << endl;
}
return 0;
}