1 #ifndef __JLANG__JEQUATION__ 
    2 #define __JLANG__JEQUATION__ 
   19 namespace JPP { 
using namespace JLANG; }
 
   78         ostream::sentry sentry(out);
 
   82           const locale& 
loc = out.getloc();
 
   84           if (has_facet<JEquationFacet>(loc)) {
 
   90             out << equation.
value;
 
   97             out << equation.
value;
 
  202       istream::sentry sentry(in, 
false);
 
  208         const locale& 
loc = in.getloc();
 
  210         if (has_facet<JEquationFacet>(loc)) {
 
  214           ios_base::iostate state = in.rdstate();
 
  217           for (
int c; (c = in.peek()) != EOF && facet.
isSkipLine((
char) c); ) {
 
  222           if (state == ios_base::goodbit) facet.
get(in, istreambuf_iterator<char>(), in, state, equation.
key);
 
  223           if (state == ios_base::goodbit) facet.
get(in, istreambuf_iterator<char>(), in, state, equation.
sep);
 
  224           if (state == ios_base::goodbit) facet.
getline(in, equation.
value);
 
  231             JString::const_iterator         p = equation.
value. begin();
 
  232             JString::const_reverse_iterator q = equation.
value.rbegin();
 
  234             for ( ; ; ++p, ++q) {
 
  245             if (p != equation.
value.begin() || q != equation.
value.rbegin()) {
 
  246               equation.
value = string(p, q.base());
 
  250           if (state != ios_base::goodbit && state != ios_base::eofbit) {
 
  254           if (!(state & ios_base::eofbit)) {
 
  257               in.setstate(ios_base::badbit);
 
  263           in.setstate(ios_base::failbit);
 
  282       ostream::sentry sentry(out);
 
  286         const locale& 
loc = out.getloc();
 
  288         if (has_facet<JEquationFacet>(loc)) {
 
  294           out << equation.
value;
 
  301           out << equation.
value;
 
  321       istringstream 
in(buffer);
 
  323       in.imbue(locale(in.getloc(), facet.
clone()));
 
const std::string & getKey() const 
Get key. 
 
Auxiliary data structure for equation. 
 
static JEquation valueOf(const std::string &buffer, const JEquationFacet &facet)
Extract equation. 
 
friend std::ostream & operator<<(std::ostream &out, const equation_type &equation)
Write equation to output stream. 
 
const std::string & getValue() const 
Get value. 
 
Wrapper class around STL string class. 
 
Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation). 
 
const char getDefaultSeparator() const 
Get default separator character. 
 
static equation_type< T > make_equation(const std::string &key, const T &value)
Auxiliary method to create equation type. 
 
JEquation & setEquation(const JEquationFacet &facet)
Set this equation to its value. 
 
std::string toString() const 
Convert equation to string. 
 
General purpose equation class. 
 
JEquation(const std::string &key, const std::string &value)
Constructor. 
 
friend std::istream & operator>>(std::istream &in, JEquation &equation)
Read equation from input stream. 
 
JEquation(const std::string &buffer, const JEquationFacet &facet)
Constructor. 
 
char getRightBracket() const 
Get right bracket. 
 
equation_type(const std::string __key, const T &__value)
Constructor. 
 
istreambuf_iterator get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, char &buffer) const 
Get character. 
 
char getLeftBracket() const 
Get left bracket. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
friend std::ostream & operator<<(std::ostream &out, const JEquation &equation)
Write equation to output stream. 
 
std::istream & ignore(std::istream &in) const 
Ignore characters until next end of line. 
 
std::istream & getline(std::istream &in, std::string &buffer) const 
Read characters until next end of line. 
 
JEquation & setEquation(const std::string &buffer, const JEquationFacet &facet)
Set equation. 
 
const char getDefaultEndOfLine() const 
Get default end of line character. 
 
bool isWhiteSpace(const char c) const 
Test for white space character. 
 
bool isSkipLine(const char c) const 
Test for skip line character. 
 
bool isSeparator(const char c) const 
Test for separator character. 
 
JEquation()
Default constructor. 
 
const char getSeparator() const 
Get separator. 
 
bool isDivision(const char c) const 
Test for division character. 
 
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 typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
virtual JEquationFacet * clone() const override
Clone this facet.