1 #ifndef __JLANG__JEQUATIONFACET__
2 #define __JLANG__JEQUATIONFACET__
21 namespace JPP {
using namespace JLANG; }
69 return new JEquationFacet(static_cast<const JEquationParameters&>(*
this));
85 const std::ios_base& format,
86 std::ios_base::iostate&
result,
103 const std::ios_base& format,
105 const char buffer)
const
107 return do_put(out, format, c, buffer);
118 const std::string
getPrefix(
const std::string& prefix,
const std::string&
name)
const
133 std::istream&
pop(std::istream&
in)
const
136 for (
int c; (c = in.peek()) != EOF &&
isWhiteSpace((
char) c); ) { in.get(); }
138 catch(
const std::exception& error) {};
156 const std::ios_base& format,
157 std::ios_base::iostate&
result,
158 std::string& buffer)
const
162 result = (ios_base::iostate) 0;
164 streamsize
n = format.width();
167 n = numeric_limits<streamsize>::max();
178 result |= ios_base::failbit;
179 result |= ios_base::eofbit;
185 result |= ios_base::failbit;
190 buffer.push_back(*i);
196 buffer.push_back(*i);
199 result |= ios_base::eofbit;
219 const std::ios_base& format,
220 std::ios_base::iostate&
result,
225 result = (ios_base::iostate) 0;
235 result |= ios_base::failbit;
236 result |= ios_base::eofbit;
240 result |= ios_base::failbit;
261 const std::ios_base& format,
263 const std::string& buffer)
const
267 if (format.flags() & ios_base::right) {
268 for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
273 for (string::const_iterator i = buffer.begin(); i != buffer.end(); ++i, ++out) {
277 if (format.flags() & ios_base::left) {
278 for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
297 const std::ios_base& format,
299 const char buffer)
const
303 if (format.flags() & ios_base::right) {
304 for (streamsize i = 1; i < format.width(); ++i, ++out) {
312 if (format.flags() & ios_base::left) {
313 for (streamsize i = 1; i < format.width(); ++i, ++out) {
360 std::ios_base::iostate&
result,
361 std::string& buffer)
const
365 result = (ios_base::iostate) 0;
375 result |= ios_base::failbit;
376 result |= ios_base::eofbit;
388 buffer.push_back(*i);
450 if (has_facet<JEquationFacet>(out.getloc()))
482 in.imbue(locale(in.getloc(), facet.
clone()));
499 out.imbue(locale(out.getloc(), facet.
clone()));
514 using namespace JLANG;
516 if (has_facet<JEquationFacet>(out.getloc()))
534 using namespace JLANG;
536 if (has_facet<JEquationFacet>(out.getloc()))
554 using namespace JLANG;
556 if (has_facet<JEquationFacet>(out.getloc()))
580 using namespace JLANG;
582 if (has_facet<JEquationFacet>(out.getloc()))
600 using namespace JLANG;
602 if (has_facet<JEquationFacet>(out.getloc()))
virtual istreambuf_iterator do_get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, std::string &buffer) const
Get string.
Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation).
const char getDefaultSeparator() const
Get default separator character.
const JEndOfLine & operator()(const unsigned int i) const
Constructor.
std::ostream & right_bracket(std::ostream &out)
Print right bracket.
bool isRightBracket(const char c) const
Test for right bracket character.
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
std::ostreambuf_iterator< char, std::char_traits< char > > ostreambuf_iterator
std::ostream & division(std::ostream &out)
Print division.
const std::string getPrefix(const std::string &prefix, const std::string &name) const
Get combined prefix for output.
then echo Enter input within $TIMEOUT_S seconds echo n User name
std::ostream & white_space(std::ostream &out)
Print white space.
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Simple data structure to support I/O of equations (see class JLANG::JEquation).
ostreambuf_iterator put(ostreambuf_iterator out, const std::ios_base &format, const char c, const char buffer) const
Put character.
const char getDefaultWhiteSpace() const
Get default white space character.
const char getPreferredEndOfLine(const unsigned int index) const
Get preferred end of line character.
bool isEndOfLine(const char c) const
Test for end of line character.
JEquationFacet(const JEquationParameters ¶meters)
Constructor.
std::ostream & left_bracket(std::ostream &out)
Print left bracket.
char getRightBracket() const
Get right bracket.
virtual ostreambuf_iterator do_put(ostreambuf_iterator out, const std::ios_base &format, const char c, const char buffer) const
Put character.
virtual istreambuf_iterator do_get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, char &buffer) const
Get character.
std::ostream & separator(std::ostream &out)
Print separator.
std::istream & pop(std::istream &in) const
Pop white spaces.
friend std::ostream & operator<<(std::ostream &out, const JEndOfLine &eol)
Print end of line.
char getLeftBracket() const
Get left bracket.
JEndOfLine()
Default constructor.
const char getDefaultDivision() const
Get default division character.
Auxiliary class for end of line.
bool isWhiteSpace(const char c) const
Test for white space character.
std::istream & operator>>(std::istream &in, JAANET::JHead &header)
Read header from input.
JEquationFacet()
Default constructor.
JLANG::JEquationFacet setequation
Type definition of stream manipulator for equational I/O.
ostreambuf_iterator put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
Put string.
alias put_queue eval echo n
istreambuf_iterator get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, std::string &buffer) const
Get string.
Facet class to specify parsing of a JLANG::JString object.
virtual istreambuf_iterator do_getline(const istreambuf_iterator __begin, const istreambuf_iterator __end, std::ios_base::iostate &result, std::string &buffer) const
Read string.
bool isSeparator(const char c) const
Test for separator character.
static const JLANG::JEndOfLine end_of_line
Print end of line.
bool isDivision(const char c) const
Test for division character.
void operator=(const JEquationFacet &)
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
virtual JEquationFacet * clone() const override
Clone this facet.
virtual ostreambuf_iterator do_put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
Put string.
bool isLeftBracket(const char c) const
Test for left bracket character.