MCPcopy Create free account
hub / github.com/Rblp/Rblpapi / fieldInfoToRblpapiT

Function fieldInfoToRblpapiT

src/blpapi_utils.cpp:272–314  ·  view source on GitHub ↗

map to RblpapiT using datatype and ftype both are needed b/c datatype does not distinguish between date and datetime

Source from the content-addressed store, hash-verified

270// map to RblpapiT using datatype and ftype
271// both are needed b/c datatype does not distinguish between date and datetime
272RblpapiT fieldInfoToRblpapiT(const std::string& datatype, const std::string& ftype) {
273 auto iter = stringToDatatypeT.find(datatype);
274 if(iter == stringToDatatypeT.end()) {
275 std::ostringstream err;
276 err << "datatype not found: " << datatype;
277 // No throw, try to be graceful
278 }
279
280 switch(iter->second) {
281 case DatatypeT::Bool:
282 return RblpapiT::Logical;
283 break;
284 case DatatypeT::String:
285 return RblpapiT::String;
286 break;
287 case DatatypeT::Int32:
288 return RblpapiT::Integer;
289 break;
290 case DatatypeT::Int64:
291 return RblpapiT::Integer64;
292 break;
293 case DatatypeT::Double:
294 return RblpapiT::Double;
295 break;
296 case DatatypeT::Float:
297 return RblpapiT::Float;
298 break;
299 case DatatypeT::Datetime:
300 if(ftype=="Date") {
301 return RblpapiT::Date;
302 } else {
303 // ftype in ("Time","DateOrTime")
304 return RblpapiT::String;
305 }
306 break;
307 default:
308 // just try to return it as a string
309 return RblpapiT::String;
310 break;
311 }
312 // never gets here
313 return RblpapiT::String;
314}
315
316SEXP allocateDataFrameColumn(RblpapiT rblpapitype, const size_t n) {
317 SEXP ans;

Callers 2

bdp_ImplFunction · 0.85
bdh_ImplFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected