13 #include "eckit/exception/Exceptions.h"
19 void splitVarGroup(
const std::string & vargrp, std::string & var, std::string & grp) {
20 const size_t at = vargrp.find(
"@");
21 var = vargrp.substr(0, at);
23 if (at != std::string::npos) {
24 grp = vargrp.substr(at + 1, std::string::npos);
25 const size_t no_at = grp.find(
"@");
26 ASSERT(no_at == std::string::npos);
32 void splitInstSat(
const std::string & instsat, std::string & inst, std::string & sat) {
33 const size_t at = instsat.find(
"_");
34 inst = instsat.substr(0, at);
36 if (at != std::string::npos) {
37 sat = instsat.substr(at + 1, std::string::npos);
38 const size_t no_at = sat.find(
"_");
39 ASSERT(no_at == std::string::npos);
46 std::istringstream iss(str);
49 return (iss.eof() && !iss.fail());
54 bool readFloat(
const std::string & str,
float & num) {
55 std::istringstream iss(str);
57 return (iss.eof() && !iss.fail());