question

Upvotes
Accepted
1 0 0 1

FieldList C++ SDK

Hi ,

Is it possible to test for the existence of a particular field and extract only that item or is

it necessary to always iterate through the whole field list?


Thanks

elektronrefinitiv-realtimeelektron-sdkc++
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
Accepted
20.3k 73 10 20

Hi @epfeuffer

You can also refer to the 121__MarketPrice__FieldListSearchByName example which you may find a bit more helpful.

while ( fl.forth( "BID" ) )    // look for a fid with matching name
        cout << "Fid: " << fl.getEntry().getFieldId() << " Name: " << fl.getEntry().getName() << " value: " << fl.getEntry().getLoad().toString() << endl;

In the snippet above, we are checking for the existence of the BID field.

You should be able to use a FieldName or a FieldID e.g. 22 for BID.

If you want to find multiple Fields, you can pass in an ElementList of field IDs too as demonstrated in example 260__MarketPrice__FieldListSearchByList

ElementList searchList;
    // specify the set of fids to search for; use fid #s
    searchList.addArray( "", OmmArray().addInt( 3 ).addInt( 15 ).addInt( 21 ).addInt( 22 ).addInt( 25 ).complete() ).complete();

    while ( fl.forth( searchList ) )        // search for a set of matching fids
    {
        const FieldEntry& fe = fl.getEntry();

So, in the above example we are looking for a few fields including CURRENCY,HST_CLOSE, BID etc.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
13k 32 12 18

Hi @epfeuffer, OMM Field list object behaves like field list in other languages like Python and Java and does not allow map like access to key/value pairs.

Please see an example 120__MarketPrice__FieldListWalk from EMA consumer samples on how to use this iteration.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
20.3k 73 10 20

Hi @epfeuffer

I forgot to mention, if you are not already doing so, I would recommend you use a View request to ask the server to filter out unnecessary Fields that you are not interested. This should further reduce the amount of fields you need to process - in terms of searching through / iterating through.

Consumer Example 360 demonstrates how to make View requests.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea