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
For a deeper look into our Elektron API, look into:
Overview | Quickstart | Documentation | Downloads | Tutorials | Articles
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
Hello @epfeuffer,
Thank you for your participation in the forum.
Is the reply below satisfactory in resolving your query?
If yes please click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.
Otherwise please post again offering further insight into your question.
Thanks,
-AHS
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.
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.
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.