13 #include "eckit/exception/Exceptions.h"
27 void splitVarGroup(
const std::string & vargrp, std::string & var, std::string & grp) {
28 const size_t at = vargrp.find(
"@");
29 const size_t slash = vargrp.find_last_of(
"/");
31 if (at != std::string::npos) {
33 var = vargrp.substr(0, at);
34 grp = vargrp.substr(at + 1, std::string::npos);
35 const size_t no_at = grp.find(
"@");
36 ASSERT(no_at == std::string::npos);
37 }
else if (slash != std::string::npos) {
39 grp = vargrp.substr(0, slash);
40 var = vargrp.substr(slash + 1, std::string::npos);
51 void splitInstSat(
const std::string & instsat, std::string & inst, std::string & sat) {
52 const size_t at = instsat.find(
"_");
53 inst = instsat.substr(0, at);
55 if (at != std::string::npos) {
56 sat = instsat.substr(at + 1, std::string::npos);
57 const size_t no_at = sat.find(
"_");
58 ASSERT(no_at == std::string::npos);
65 std::istringstream iss(str);
68 return (iss.eof() && !iss.fail());
73 bool readFloat(
const std::string & str,
float & num) {
74 std::istringstream iss(str);
76 return (iss.eof() && !iss.fail());
bool readFloat(const std::string &str, float &num)
void splitInstSat(const std::string &instsat, std::string &inst, std::string &sat)
void splitVarGroup(const std::string &vargrp, std::string &var, std::string &grp)
bool isFloat(const std::string &str)