Go to the documentation of this file.
40 char *endptr =
nullptr;
42 const intmax_t parsed = ::strtoimax(buf, &endptr, 10);
44 const int32_t val = int32_t(parsed);
48 (parsed < INT32_MIN || parsed > INT32_MAX)
49 ? parsing::errorType::RANGE
53 if (err != parsing::errorType::NONE)
66 char *endptr =
nullptr;
68 const intmax_t parsed = ::strtoimax(buf, &endptr, 10);
70 val = int32_t(parsed);
74 (parsed < INT32_MIN || parsed > INT32_MAX)
97 <<
"Bad token - could not get int32"
110 const intmax_t parsed = intmax_t(std::round(sval));
111 val = 0 + int32_t(parsed);
116 if (parsed < INT32_MIN || parsed > INT32_MAX)
119 <<
"Expected integral (int32), value out-of-range "
125 else if (1
e-4 < std::abs(sval - scalar(parsed)))
128 <<
"Expected integral (int32), found non-integral value "
138 <<
"Wrong token type - expected label (int32), found "
152 os.
write(label(val));
158 #if (__SIZEOF_LONG__ == 4)
161 return operator>>(is,
reinterpret_cast<int32_t&
>(val));
166 return (os << int32_t(val));
label labelToken() const
Return label value.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
bool isLabel() const noexcept
Token is LABEL.
errorType checkConversion(const char *buf, char *endptr)
Sanity check after strtof, strtod, etc.
Istream & operator>>(Istream &, directionInfo &)
A token holds an item read from Istream.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
InfoProxy< token > info() const
Return info proxy for printing token information to a stream.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
const Foam::Enum< errorType > errorNames
Strings corresponding to the errorType.
errorType
Enumeration for possible parsing error.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
int32_t readInt32(Istream &is)
Read int32_t from stream.
virtual bool write(const token &tok)=0
Write token to stream or otherwise handle it.
bool isScalar() const noexcept
Token is FLOAT or DOUBLE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
bool good() const noexcept
True if token is not UNDEFINED or ERROR.
scalar scalarToken() const
Return float or double value.
const dimensionedScalar e
Elementary charge.
void setBad()
Set stream to be bad.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...