OnixS C++ CME iLink 3 Binary Order Entry Handler  1.17.0
API Documentation
Repeating Groups

The OnixS::CME::iLink3::Messaging::SbeGroup class provides access to repeating group entries. The OnixS::CME::iLink3::Messaging::SbeGroupEntry class provides access to repeating group entry fields.

To get/set a field value of a repeating group entry, use the corresponding method of the strongly typed repeating group entry class.

Example

using namespace OnixS::CME::iLink3;
typedef MessageHolder<PartyDetailsDefinitionRequest518> PartyDetailsDefinitionRequest;
PartyDetailsDefinitionRequest request;
const UInt8 PartyDetailsGroupSize = 2;
// Set the PartyDetails group size and get the corresponding SbeGroup instance.
PartyDetailsDefinitionRequest518::PartyDetails details = request->partyDetails(PartyDetailsGroupSize);
// Set field values of the first repeating group entry.
details[0].setPartyDetailId("004").setPartyDetailRole(PartyDetailRole::ExecutingFirm);
// Set field values of the second repeating group entry.
details[1].setPartyDetailId("CSET_TEST").setPartyDetailRole(PartyDetailRole::CustomerAccount);
// Get field values of the first repeating group entry.
StrRef partyDetailId1 = details[0].partyDetailId();
PartyDetailRole::Enum partyDetailRole1 = details[0].partyDetailRole();
// Get field values of the second repeating group entry.
StrRef partyDetailId2 = details[1].partyDetailId();
PartyDetailRole::Enum partyDetailRole2 = details[1].partyDetailRole();
// Iterate over all repeating group entries of the PartyDetails group.
for (PartyDetailsDefinitionRequest518::PartyDetails::Iterator iter = details.begin(); iter != details.end(); ++iter)
{
std::cout << "partyDetailId=" << (*iter).partyDetailId() << "; partyDetailRole=" << (*iter).partyDetailRole() << std::endl;
}