Using C++, the Google Protocol Buffer library provides an STL-like vector container for repeated field that can be iterated through in the following way:

google::protobuf::RepeatedPtrField<myRepeatedField>;

for (google::protobuf::RepeatedPtrField<myRepeatedField>::const_iterator it = myRepeatedField.begin(); it!= myRepeatedField.end(); ++it)
  { 
   // Clever codes.
  }


Additionally, a message which contains a repeated field/message will give access to an add() method:


myHighLevelMessage.add_myrepeatedmessage();