69 Info<<
"constructed scalarRange: " << *
this <<
endl;
78 return type_ != EMPTY;
84 return type_ == EXACT;
130 return value >= value_;
133 return value <= value_;
136 return value >= value_ && value <= value2_;
139 return value == value_;
155 && value_ == range.value_
156 && value2_ == range.value2_
176 range.type_ = scalarRange::EXACT;
187 is.
check(
"scalarRange token read");
191 toks[nTok].isPunctuation()
200 toks[nTok-1].isPunctuation()
204 range.type_ = scalarRange::UPPER;
205 is.
read(toks[nTok++]);
206 is.
check(
"scalarRange token read");
210 if (!toks[nTok-1].isNumber())
213 range.type_ = scalarRange::EMPTY;
214 range.value_ = range.value2_ = 0;
215 Info<<
"rejected ill-formed or empty range:";
216 for (label i=0; i<nTok; ++i)
218 Info<<
" " << toks[i];
224 range.value_ = toks[nTok-1].number();
225 is.
read(toks[nTok++]);
226 is.
check(
"scalarRange token read");
231 for (label i=0; i<nTok; ++i)
233 Info<<
" " << toks[i];
241 toks[nTok-1].isPunctuation()
245 if (range.type_ == scalarRange::UPPER)
248 range.type_ = scalarRange::EMPTY;
249 range.value_ = range.value2_ = 0;
250 Info<<
"rejected ill-formed range:";
251 for (label i=0; i<nTok; ++i)
253 Info<<
" " << toks[i];
259 is.
read(toks[nTok++]);
260 is.
check(
"scalarRange token read");
265 for (label i=0; i<nTok; ++i)
267 Info<<
" " << toks[i];
274 if (toks[nTok-1].isNumber())
276 range.type_ = scalarRange::RANGE;
277 range.value2_ = toks[nTok-1].number();
278 is.
read(toks[nTok++]);
279 is.
check(
"scalarRange token read");
283 range.type_ = scalarRange::LOWER;
290 for (label i=0; i<nTok; ++i)
292 Info<<
" " << toks[i];
305 !toks[nTok-1].isPunctuation()
311 range.type_ = scalarRange::EMPTY;
312 range.value_ = range.value2_ = 0;
314 Info<<
"rejected ill-formed range:";
315 for (label i=0; i<nTok; ++i)
317 Info <<
" " << toks[i];
330 case scalarRange::LOWER:
331 os << range.value_ <<
" <=> Inf";
334 case scalarRange::UPPER:
335 os <<
"-Inf <=> " << range.value_;
338 case scalarRange::RANGE:
339 os << range.value_ <<
" <=> " << range.value2_;
342 case scalarRange::EXACT: