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;
 
  189       istream::sentry sentry(in, 
false);
 
  195         const locale& 
loc = in.getloc();
 
  197         if (has_facet<JEquationFacet>(loc)) {
 
  201           ios_base::iostate state = in.rdstate();
 
  204           for (
int c; (c = in.peek()) != EOF && facet.
isSkipLine((
char) c); ) {
 
  209           if (state == ios_base::goodbit) facet.
get(in, istreambuf_iterator<char>(), in, state, equation.
key);
 
  210           if (state == ios_base::goodbit) facet.
get(in, istreambuf_iterator<char>(), in, state, equation.
sep);
 
  211           if (state == ios_base::goodbit) facet.
getline(in, equation.
value);
 
  218             JString::const_iterator         p = equation.
value. begin();
 
  219             JString::const_reverse_iterator q = equation.
value.rbegin();
 
  221             for ( ; ; ++p, ++q) {
 
  232             if (p != equation.
value.begin() || q != equation.
value.rbegin()) {
 
  233               equation.
value = string(p, q.base());
 
  237           if (state != ios_base::goodbit && state != ios_base::eofbit) {
 
  241           if (!(state & ios_base::eofbit)) {
 
  244               in.setstate(ios_base::badbit);
 
  250           in.setstate(ios_base::failbit);
 
  269       ostream::sentry sentry(out);
 
  273         const locale& 
loc = out.getloc();
 
  275         if (has_facet<JEquationFacet>(loc)) {
 
  281           out << equation.
value;
 
  288           out << equation.
value;
 
  308       istringstream 
in(buffer);
 
  310       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. 
 
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
 
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. 
 
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. 
 
virtual JEquationFacet * clone() const 
Clone this facet. 
 
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.