39 char *endptr =
nullptr;
41 const uintmax_t parsed = ::strtoumax(buf, &endptr, 10);
43 const uint32_t val = uint32_t(parsed);
48 ? parsing::errorType::RANGE
52 if (err != parsing::errorType::NONE)
65 char *endptr =
nullptr;
67 const uintmax_t parsed = ::strtoumax(buf, &endptr, 10);
69 val = uint32_t(parsed);
96 <<
"Bad token - could not get uint32" 104 val = uint32_t(t.labelToken());
106 else if (t.isScalar())
108 const scalar sval(t.scalarToken());
109 const uintmax_t parsed = uintmax_t(std::round(sval));
110 val = 0 + uint32_t(parsed);
115 if ((sval < -1
e-4) || parsed > UINT32_MAX)
118 <<
"Expected label (uint32), value out-of-range " 124 else if (1
e-4 < std::abs(sval - scalar(parsed)))
127 <<
"Expected label (uint32), found non-integral value " 137 <<
"Wrong token type - expected label (uint32), found " 151 os.write(label(val));
errorManipArg< error, int > exit(error &err, const int errNo=1)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
errorType checkConversion(const char *buf, char *endptr)
Sanity check after strtof, strtod, etc.
const dimensionedScalar e
Elementary charge.
Istream & operator>>(Istream &, directionInfo &)
errorType
Enumeration for possible parsing error.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
uint32_t readUint32(Istream &is)
Read uint32_t from stream.
const Foam::Enum< errorType > errorNames
Strings corresponding to the errorType.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...