Jpp  18.0.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
JLANG::JEquationFacet Class Reference

Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation). More...

#include <JEquationFacet.hh>

Inheritance diagram for JLANG::JEquationFacet:
JLANG::JStringFacet JLANG::JEquationParameters

Public Types

typedef
std::istreambuf_iterator< char,
std::char_traits< char > > 
istreambuf_iterator
 
typedef
std::ostreambuf_iterator< char,
std::char_traits< char > > 
ostreambuf_iterator
 

Public Member Functions

 JEquationFacet ()
 Default constructor. More...
 
 JEquationFacet (const JEquationParameters &parameters)
 Constructor. More...
 
virtual JEquationFacetclone () const override
 Clone this facet. More...
 
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. More...
 
ostreambuf_iterator put (ostreambuf_iterator out, const std::ios_base &format, const char c, const char buffer) const
 Put character. More...
 
const std::string getPrefix (const std::string &prefix, const std::string &name) const
 Get combined prefix for output. More...
 
std::istream & pop (std::istream &in) const
 Pop white spaces. More...
 
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. More...
 
ostreambuf_iterator put (ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
 Put string. More...
 
std::istream & ignore (std::istream &in) const
 Ignore characters until next end of line. More...
 
std::istream & getline (std::istream &in, std::string &buffer) const
 Read characters until next end of line. More...
 
const JEquationParametersgetEquationParameters () const
 Get equation parameters. More...
 
void setEquationParameters (const JEquationParameters &buffer)
 Set equation parameters. More...
 
const char getDefaultSeparator () const
 Get default separator character. More...
 
const std::stringgetSeparator () const
 Get separator characters. More...
 
void setSeparator (const std::string &sep)
 Set separator character(s). More...
 
const char getDefaultEndOfLine () const
 Get default end of line character. More...
 
const char getPreferredEndOfLine (const unsigned int index) const
 Get preferred end of line character. More...
 
const std::stringgetEndOfLine () const
 Get end of line characters. More...
 
void setEndOfLine (const std::string &eol)
 Set end of line characters. More...
 
const char getDefaultDivision () const
 Get default division character. More...
 
const std::stringgetDivision () const
 Get division characters. More...
 
void setDivision (const std::string &div)
 Set division characters. More...
 
const char getDefaultSkipLine () const
 Get default skip line character. More...
 
const std::stringgetSkipLine () const
 Get skip line characters. More...
 
void setSkipLine (const std::string &skip)
 Set skip line characters. More...
 
void setBrackets (const char left, const char right)
 Set brackets. More...
 
char getLeftBracket () const
 Get left bracket. More...
 
char getRightBracket () const
 Get right bracket. More...
 
const char getDefaultWhiteSpace () const
 Get default white space character. More...
 
const std::stringgetWhiteSpace () const
 Get white space characters. More...
 
void setWhiteSpace (const std::string &ws)
 Set white space characters. More...
 
JEquationParametersjoin (const JEquationParameters &value)
 Join equation parameters. More...
 
bool isSeparator (const char c) const
 Test for separator character. More...
 
bool isEndOfLine (const char c) const
 Test for end of line character. More...
 
bool isDivision (const char c) const
 Test for division character. More...
 
bool isSkipLine (const char c) const
 Test for skip line character. More...
 
bool isLeftBracket (const char c) const
 Test for left bracket character. More...
 
bool isRightBracket (const char c) const
 Test for right bracket character. More...
 
bool isWhiteSpace (const char c) const
 Test for white space character. More...
 

Static Public Member Functions

static int getIndex ()
 Get index for stream associated facet data. More...
 

Static Public Attributes

static std::locale::id id
 

Protected Member Functions

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 override
 Get string. More...
 
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. More...
 
virtual ostreambuf_iterator do_put (ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const override
 Put string. More...
 
virtual ostreambuf_iterator do_put (ostreambuf_iterator out, const std::ios_base &format, const char c, const char buffer) const
 Put character. More...
 
virtual istreambuf_iterator do_getline (const istreambuf_iterator __begin, const istreambuf_iterator __end, std::ios_base::iostate &result, std::string &buffer) const override
 Read string. More...
 
virtual istreambuf_iterator do_ignore (const istreambuf_iterator __begin, const istreambuf_iterator __end) const
 Ignore characters until next end of line. More...
 

Protected Attributes

std::string sep
 
std::string eol
 
std::string div
 
std::string skip
 
char left
 
char right
 
std::string ws
 

Private Member Functions

 JEquationFacet (const JEquationFacet &)
 
void operator= (const JEquationFacet &)
 

Detailed Description

Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation).

Tokens are defined as a piece of text delimited by various markers according the facet. The list of markers is defined by the JLANG::JEquationParameters data structure. This class extends the JLANG::JStringFacet and JLANG::JEquationParameters classes.

Definition at line 32 of file JEquationFacet.hh.

Member Typedef Documentation

typedef std::istreambuf_iterator<char, std::char_traits<char> > JLANG::JStringFacet::istreambuf_iterator
inherited

Definition at line 34 of file JStringFacet.hh.

typedef std::ostreambuf_iterator<char, std::char_traits<char> > JLANG::JStringFacet::ostreambuf_iterator
inherited

Definition at line 35 of file JStringFacet.hh.

Constructor & Destructor Documentation

JLANG::JEquationFacet::JEquationFacet ( )
inline

Default constructor.

Definition at line 45 of file JEquationFacet.hh.

45  :
46  JStringFacet(),
48  {}
JStringFacet(std::size_t refs=0)
Constructor.
Definition: JStringFacet.hh:44
JEquationParameters()
Default constructor.
JLANG::JEquationFacet::JEquationFacet ( const JEquationParameters parameters)
inline

Constructor.

Parameters
parametersequation parameters

Definition at line 56 of file JEquationFacet.hh.

56  :
57  JStringFacet(),
58  JEquationParameters(parameters)
59  {}
JStringFacet(std::size_t refs=0)
Constructor.
Definition: JStringFacet.hh:44
JEquationParameters()
Default constructor.
JLANG::JEquationFacet::JEquationFacet ( const JEquationFacet )
private

Member Function Documentation

virtual JEquationFacet* JLANG::JEquationFacet::clone ( ) const
inlineoverridevirtual

Clone this facet.

Returns
pointer to newly created facet

Reimplemented from JLANG::JStringFacet.

Definition at line 67 of file JEquationFacet.hh.

68  {
69  return new JEquationFacet(static_cast<const JEquationParameters&>(*this));
70  }
JEquationFacet()
Default constructor.
istreambuf_iterator JLANG::JEquationFacet::get ( const istreambuf_iterator  __begin,
const istreambuf_iterator  __end,
const std::ios_base &  format,
std::ios_base::iostate &  result,
char &  buffer 
) const
inline

Get character.

Parameters
__beginbegin position of input stream
__endend position of input stream
formatformat
resultstatus after input operation
bufferoutput character
Returns
position of input stream

Definition at line 83 of file JEquationFacet.hh.

88  {
89  return do_get(__begin, __end, format, result, buffer);
90  }
return result
Definition: JPolint.hh:764
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 override
Get string.
ostreambuf_iterator JLANG::JEquationFacet::put ( ostreambuf_iterator  out,
const std::ios_base &  format,
const char  c,
const char  buffer 
) const
inline

Put character.

Parameters
outbegin position of output stream
formatformat
cfill character
bufferinput character
Returns
position of output stream buffer

Definition at line 102 of file JEquationFacet.hh.

106  {
107  return do_put(out, format, c, buffer);
108  }
virtual ostreambuf_iterator do_put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const override
Put string.
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
const std::string JLANG::JEquationFacet::getPrefix ( const std::string prefix,
const std::string name 
) const
inline

Get combined prefix for output.

Parameters
prefixprefix
namename
Returns
prefix

Definition at line 118 of file JEquationFacet.hh.

119  {
120  if (prefix.empty())
121  return name;
122  else
123  return prefix + getDefaultDivision() + name;
124  }
then echo Enter input within $TIMEOUT_S seconds echo n User name
Definition: JCookie.sh:42
const char getDefaultDivision() const
Get default division character.
std::istream& JLANG::JEquationFacet::pop ( std::istream &  in) const
inline

Pop white spaces.

Parameters
ininput stream
Returns
input stream

Definition at line 133 of file JEquationFacet.hh.

134  {
135  try {
136  for (int c; (c = in.peek()) != EOF && isWhiteSpace((char) c); ) { in.get(); }
137  }
138  catch(const std::exception& error) {};
139 
140  return in;
141  }
bool isWhiteSpace(const char c) const
Test for white space character.
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
virtual istreambuf_iterator JLANG::JEquationFacet::do_get ( const istreambuf_iterator  __begin,
const istreambuf_iterator  __end,
const std::ios_base &  format,
std::ios_base::iostate &  result,
std::string buffer 
) const
inlineoverrideprotectedvirtual

Get string.

Parameters
__beginbegin position of input stream
__endend position of input stream
formatformat
resultstatus after input operation
bufferoutput string
Returns
position of input stream

Reimplemented from JLANG::JStringFacet.

Definition at line 154 of file JEquationFacet.hh.

159  {
160  using namespace std;
161 
162  result = (ios_base::iostate) 0; // reset I/O status
163 
164  streamsize n = format.width(); // number of characters to read
165 
166  if (n == 0) {
167  n = numeric_limits<streamsize>::max();
168  }
169 
170  istreambuf_iterator i = __begin;
171 
172  while (i != __end && isWhiteSpace(*i)) {
173  ++i;
174  }
175 
176  if (i == __end) {
177 
178  result |= ios_base::failbit;
179  result |= ios_base::eofbit;
180 
181  } else if (isSeparator(*i) ||
182  isEndOfLine(*i) ||
183  isDivision (*i)) {
184 
185  result |= ios_base::failbit;
186 
187  } else {
188 
189  buffer.clear();
190  buffer.push_back(*i);
191 
192  for (++i, --n; i != __end && n != 0 && (!isWhiteSpace(*i) &&
193  !isSeparator (*i) &&
194  !isEndOfLine (*i) &&
195  !isDivision (*i)); ++i, --n)
196  buffer.push_back(*i);
197 
198  if (i == __end) {
199  result |= ios_base::eofbit;
200  }
201  }
202 
203  return i;
204  }
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
Definition: JStringFacet.hh:34
bool isEndOfLine(const char c) const
Test for end of line character.
const int n
Definition: JPolint.hh:697
return result
Definition: JPolint.hh:764
bool isWhiteSpace(const char c) const
Test for white space character.
bool isSeparator(const char c) const
Test for separator character.
bool isDivision(const char c) const
Test for division character.
virtual istreambuf_iterator JLANG::JEquationFacet::do_get ( const istreambuf_iterator  __begin,
const istreambuf_iterator  __end,
const std::ios_base &  format,
std::ios_base::iostate &  result,
char &  buffer 
) const
inlineprotectedvirtual

Get character.

Parameters
__beginbegin position of input stream
__endend position of input stream
formatformat
resultstatus after input operation
bufferoutput character
Returns
position of input stream

Definition at line 217 of file JEquationFacet.hh.

222  {
223  using namespace std;
224 
225  result = (ios_base::iostate) 0; // reset I/O status
226 
227  istreambuf_iterator i = __begin;
228 
229  while (i != __end && isWhiteSpace(*i)) {
230  ++i;
231  }
232 
233  if (i == __end) {
234 
235  result |= ios_base::failbit;
236  result |= ios_base::eofbit;
237 
238  } else if (!isDivision(*i) && !isSeparator(*i)) {
239 
240  result |= ios_base::failbit;
241 
242  } else {
243 
244  buffer = *i++;
245  }
246 
247  return i;
248  }
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
Definition: JStringFacet.hh:34
return result
Definition: JPolint.hh:764
bool isWhiteSpace(const char c) const
Test for white space character.
bool isSeparator(const char c) const
Test for separator character.
bool isDivision(const char c) const
Test for division character.
virtual ostreambuf_iterator JLANG::JEquationFacet::do_put ( ostreambuf_iterator  out,
const std::ios_base &  format,
const char  c,
const std::string buffer 
) const
inlineoverrideprotectedvirtual

Put string.

Parameters
outbegin position of output stream
formatformat
cfill character
bufferinput string
Returns
current position of output stream

Reimplemented from JLANG::JStringFacet.

Definition at line 260 of file JEquationFacet.hh.

264  {
265  using namespace std;
266 
267  if (format.flags() & ios_base::right) {
268  for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
269  *out = c;
270  }
271  }
272 
273  for (string::const_iterator i = buffer.begin(); i != buffer.end(); ++i, ++out) {
274  *out = *i;
275  }
276 
277  if (format.flags() & ios_base::left) {
278  for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
279  *out = c;
280  }
281  }
282 
283  return out;
284  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
virtual ostreambuf_iterator JLANG::JEquationFacet::do_put ( ostreambuf_iterator  out,
const std::ios_base &  format,
const char  c,
const char  buffer 
) const
inlineprotectedvirtual

Put character.

Parameters
outbegin position of output stream
formatformat
cfill character
bufferinput character
Returns
current position of output stream

Definition at line 296 of file JEquationFacet.hh.

300  {
301  using namespace std;
302 
303  if (format.flags() & ios_base::right) {
304  for (streamsize i = 1; i < format.width(); ++i, ++out) {
305  *out = c;
306  }
307  }
308 
309  *out = buffer;
310  ++out;
311 
312  if (format.flags() & ios_base::left) {
313  for (streamsize i = 1; i < format.width(); ++i, ++out) {
314  *out = c;
315  }
316  }
317 
318  return out;
319  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
virtual istreambuf_iterator JLANG::JEquationFacet::do_getline ( const istreambuf_iterator  __begin,
const istreambuf_iterator  __end,
std::ios_base::iostate &  result,
std::string buffer 
) const
inlineoverrideprotectedvirtual

Read string.

Parameters
__beginbegin position of input stream
__endend position of input stream
resultstatus after input operation
bufferoutput string
Returns
position of input stream

Reimplemented from JLANG::JStringFacet.

Definition at line 358 of file JEquationFacet.hh.

362  {
363  using namespace std;
364 
365  result = (ios_base::iostate) 0; // reset I/O status
366 
367  istreambuf_iterator i = __begin;
368 
369  while (i != __end && isWhiteSpace(*i) && !isEndOfLine(*i)) {
370  ++i;
371  }
372 
373  if (i == __end) {
374 
375  result |= ios_base::failbit;
376  result |= ios_base::eofbit;
377 
378  } else if (isEndOfLine(*i)) {
379 
380  buffer.clear();
381 
382  } else {
383 
384  buffer.clear();
385 
386  for (int count = 0; i != __end && (count != 0 || !isEndOfLine(*i)); ++i) {
387 
388  buffer.push_back(*i);
389 
390  if (isLeftBracket (*i)) {
391  ++count;
392  } else if (isRightBracket(*i)) {
393  --count;
394  }
395  }
396 
397  while (i != __end && isEndOfLine(*i)) {
398  ++i; // skip end of line(s)
399  }
400  }
401 
402  return i;
403  }
bool isRightBracket(const char c) const
Test for right bracket character.
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
Definition: JStringFacet.hh:34
bool isEndOfLine(const char c) const
Test for end of line character.
return result
Definition: JPolint.hh:764
bool isWhiteSpace(const char c) const
Test for white space character.
bool isLeftBracket(const char c) const
Test for left bracket character.
void JLANG::JEquationFacet::operator= ( const JEquationFacet )
private
istreambuf_iterator JLANG::JStringFacet::get ( const istreambuf_iterator  __begin,
const istreambuf_iterator  __end,
const std::ios_base &  format,
std::ios_base::iostate &  result,
std::string buffer 
) const
inlineinherited

Get string.

Parameters
__beginbegin position of input stream
__endend position of input stream
formatformat
resultstatus after input operation
bufferoutput string
Returns
position of input stream

Definition at line 70 of file JStringFacet.hh.

75  {
76  return do_get(__begin, __end, format, result, buffer);
77  }
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.
return result
Definition: JPolint.hh:764
ostreambuf_iterator JLANG::JStringFacet::put ( ostreambuf_iterator  out,
const std::ios_base &  format,
const char  c,
const std::string buffer 
) const
inlineinherited

Put string.

Parameters
outbegin position of output stream
formatformat
cfill character
bufferinput string
Returns
position of output stream buffer

Definition at line 89 of file JStringFacet.hh.

93  {
94  return do_put(out, format, c, buffer);
95  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
virtual ostreambuf_iterator do_put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
Put string.
std::istream& JLANG::JStringFacet::ignore ( std::istream &  in) const
inlineinherited

Ignore characters until next end of line.

Parameters
ininput stream
Returns
input stream

Definition at line 104 of file JStringFacet.hh.

105  {
107  in.setstate(std::ios_base::eofbit);
108  }
109 
110  return in;
111  }
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
Definition: JStringFacet.hh:34
virtual istreambuf_iterator do_ignore(const istreambuf_iterator __begin, const istreambuf_iterator __end) const
Ignore characters until next end of line.
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
std::istream& JLANG::JStringFacet::getline ( std::istream &  in,
std::string buffer 
) const
inlineinherited

Read characters until next end of line.

Parameters
ininput stream
bufferoutput string
Returns
input stream

Definition at line 121 of file JStringFacet.hh.

123  {
124  using namespace std;
125 
126  ios_base::iostate state = in.rdstate();
127 
128  if (do_getline(in, istreambuf_iterator(), state, buffer) == istreambuf_iterator()) {
129  in.setstate(std::ios_base::eofbit);
130  }
131 
132  if (state != ios_base::goodbit && state != ios_base::eofbit) {
133  in.setstate(state);
134  }
135 
136  return in;
137  }
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
Definition: JStringFacet.hh:34
virtual istreambuf_iterator do_getline(const istreambuf_iterator __begin, const istreambuf_iterator __end, std::ios_base::iostate &result, std::string &buffer) const
Read string.
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
static int JLANG::JStringFacet::getIndex ( )
inlinestaticinherited

Get index for stream associated facet data.

Returns
index

Definition at line 145 of file JStringFacet.hh.

146  {
147  static int i = std::ios_base::xalloc();
148 
149  return i;
150  }
virtual istreambuf_iterator JLANG::JStringFacet::do_ignore ( const istreambuf_iterator  __begin,
const istreambuf_iterator  __end 
) const
inlineprotectedvirtualinherited

Ignore characters until next end of line.

Parameters
__beginbegin position of input stream
__endend position of input stream
Returns
position of input stream

Reimplemented in JLANG::JCppFacet.

Definition at line 249 of file JStringFacet.hh.

251  {
252  istreambuf_iterator i = __begin;
253 
254  while (i != __end && *i != '\n') {
255  ++i;
256  }
257 
258  while (i != __end && *i == '\n') {
259  ++i; // skip end of line(s)
260  }
261 
262  return i;
263  }
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
Definition: JStringFacet.hh:34
const JEquationParameters& JLANG::JEquationParameters::getEquationParameters ( ) const
inlineinherited

Get equation parameters.

Returns
equation parameters

Definition at line 71 of file JEquationParameters.hh.

72  {
73  return *this;
74  }
void JLANG::JEquationParameters::setEquationParameters ( const JEquationParameters buffer)
inlineinherited

Set equation parameters.

Parameters
bufferequation parameters

Definition at line 82 of file JEquationParameters.hh.

83  {
84  static_cast<JEquationParameters&>(*this) = buffer;
85  }
Simple data structure to support I/O of equations (see class JLANG::JEquation).
const char JLANG::JEquationParameters::getDefaultSeparator ( ) const
inlineinherited

Get default separator character.

Returns
separator between parameter and its value

Definition at line 93 of file JEquationParameters.hh.

94  {
95  if (sep.empty())
96  return '=';
97  else
98  return sep[0];
99  }
const std::string& JLANG::JEquationParameters::getSeparator ( ) const
inlineinherited

Get separator characters.

Returns
separator between parameter and its value

Definition at line 107 of file JEquationParameters.hh.

108  {
109  return sep;
110  }
void JLANG::JEquationParameters::setSeparator ( const std::string sep)
inlineinherited

Set separator character(s).

Parameters
sepseparator between parameter and its value

Definition at line 118 of file JEquationParameters.hh.

119  {
120  this->sep = sep;
121  }
const char JLANG::JEquationParameters::getDefaultEndOfLine ( ) const
inlineinherited

Get default end of line character.

Returns
end of line character

Definition at line 129 of file JEquationParameters.hh.

130  {
131  if (eol.empty())
132  return '\n';
133  else
134  return eol[0];
135  }
const char JLANG::JEquationParameters::getPreferredEndOfLine ( const unsigned int  index) const
inlineinherited

Get preferred end of line character.

Parameters
indexindex
Returns
end of line character

Definition at line 144 of file JEquationParameters.hh.

145  {
146  if (eol.empty())
147  return '\n';
148  else if (index < eol.size())
149  return eol[index];
150  else
151  return eol[0];
152  }
const std::string& JLANG::JEquationParameters::getEndOfLine ( ) const
inlineinherited

Get end of line characters.

Returns
end of line characters

Definition at line 160 of file JEquationParameters.hh.

161  {
162  return eol;
163  }
void JLANG::JEquationParameters::setEndOfLine ( const std::string eol)
inlineinherited

Set end of line characters.

Parameters
eolend of line character

Definition at line 171 of file JEquationParameters.hh.

172  {
173  this->eol = eol;
174  }
const char JLANG::JEquationParameters::getDefaultDivision ( ) const
inlineinherited

Get default division character.

Returns
division character

Definition at line 182 of file JEquationParameters.hh.

183  {
184  if (div.empty())
185  return '.';
186  else
187  return div[0];
188  }
const std::string& JLANG::JEquationParameters::getDivision ( ) const
inlineinherited

Get division characters.

Returns
division characters

Definition at line 196 of file JEquationParameters.hh.

197  {
198  return div;
199  }
void JLANG::JEquationParameters::setDivision ( const std::string div)
inlineinherited

Set division characters.

Parameters
divdivision characters

Definition at line 207 of file JEquationParameters.hh.

208  {
209  this->div = div;
210  }
const char JLANG::JEquationParameters::getDefaultSkipLine ( ) const
inlineinherited

Get default skip line character.

Returns
skip line character

Definition at line 218 of file JEquationParameters.hh.

219  {
220  if (skip.empty())
221  return '#';
222  else
223  return skip[0];
224  }
const std::string& JLANG::JEquationParameters::getSkipLine ( ) const
inlineinherited

Get skip line characters.

Returns
skip line characters

Definition at line 232 of file JEquationParameters.hh.

233  {
234  return skip;
235  }
void JLANG::JEquationParameters::setSkipLine ( const std::string skip)
inlineinherited

Set skip line characters.

Parameters
skipskip line characters

Definition at line 243 of file JEquationParameters.hh.

244  {
245  this->skip = skip;
246  }
void JLANG::JEquationParameters::setBrackets ( const char  left,
const char  right 
)
inlineinherited

Set brackets.

Parameters
leftleft bracket
rightright bracket

Definition at line 255 of file JEquationParameters.hh.

256  {
257  this->left = left;
258  this->right = right;
259  }
char JLANG::JEquationParameters::getLeftBracket ( ) const
inlineinherited

Get left bracket.

Returns
left bracket

Definition at line 267 of file JEquationParameters.hh.

268  {
269  return left;
270  }
char JLANG::JEquationParameters::getRightBracket ( ) const
inlineinherited

Get right bracket.

Returns
right bracket

Definition at line 278 of file JEquationParameters.hh.

279  {
280  return right;
281  }
const char JLANG::JEquationParameters::getDefaultWhiteSpace ( ) const
inlineinherited

Get default white space character.

Returns
white space character

Definition at line 289 of file JEquationParameters.hh.

290  {
291  if (ws.empty())
292  return ' ';
293  else
294  return ws[0];
295  }
const std::string& JLANG::JEquationParameters::getWhiteSpace ( ) const
inlineinherited

Get white space characters.

Returns
white space characters

Definition at line 303 of file JEquationParameters.hh.

304  {
305  return ws;
306  }
void JLANG::JEquationParameters::setWhiteSpace ( const std::string ws)
inlineinherited

Set white space characters.

Parameters
wswhite space characters

Definition at line 314 of file JEquationParameters.hh.

315  {
316  this->ws = ws;
317  }
JEquationParameters& JLANG::JEquationParameters::join ( const JEquationParameters value)
inlineinherited

Join equation parameters.

Parameters
valueequation parameters

Definition at line 325 of file JEquationParameters.hh.

326  {
327  using namespace std;
328 
329  for (string::const_iterator i = value.sep.begin(); i != value.sep.end(); ++i) {
330  if (!isSeparator(*i)) {
331  sep += *i;
332  }
333  }
334 
335  for (string::const_iterator i = value.eol.begin(); i != value.eol.end(); ++i) {
336  if (!isEndOfLine(*i)) {
337  eol += *i;
338  }
339  }
340 
341  for (string::const_iterator i = value.div.begin(); i != value.div.end(); ++i) {
342  if (!isDivision(*i)) {
343  div += *i;
344  }
345  }
346 
347  for (string::const_iterator i = value.skip.begin(); i != value.skip.end(); ++i) {
348  if (!isSkipLine(*i)) {
349  skip += *i;
350  }
351  }
352 
353  for (string::const_iterator i = value.ws.begin(); i != value.ws.end(); ++i) {
354  if (!isWhiteSpace(*i)) {
355  ws += *i;
356  }
357  }
358 
359  return *this;
360  }
bool isEndOfLine(const char c) const
Test for 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.
bool isDivision(const char c) const
Test for division character.
bool JLANG::JEquationParameters::isSeparator ( const char  c) const
inlineinherited

Test for separator character.

Parameters
ccharacter
Returns
true if separator; else false

Definition at line 369 of file JEquationParameters.hh.

370  {
371  return sep .find(c) != std::string::npos;
372  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
bool JLANG::JEquationParameters::isEndOfLine ( const char  c) const
inlineinherited

Test for end of line character.

Parameters
ccharacter
Returns
true if end of line; else false

Definition at line 381 of file JEquationParameters.hh.

381 { return eol .find(c) != std::string::npos; }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
bool JLANG::JEquationParameters::isDivision ( const char  c) const
inlineinherited

Test for division character.

Parameters
ccharacter
Returns
true if division; else false

Definition at line 390 of file JEquationParameters.hh.

391  {
392  return div .find(c) != std::string::npos;
393  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
bool JLANG::JEquationParameters::isSkipLine ( const char  c) const
inlineinherited

Test for skip line character.

Parameters
ccharacter
Returns
true if skip line; else false

Definition at line 402 of file JEquationParameters.hh.

403  {
404  return skip.find(c) != std::string::npos;
405  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
bool JLANG::JEquationParameters::isLeftBracket ( const char  c) const
inlineinherited

Test for left bracket character.

Parameters
ccharacter
Returns
true if left bracket; else false

Definition at line 414 of file JEquationParameters.hh.

415  {
416  return c == left;
417  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
bool JLANG::JEquationParameters::isRightBracket ( const char  c) const
inlineinherited

Test for right bracket character.

Parameters
ccharacter
Returns
true if right bracket; else false

Definition at line 426 of file JEquationParameters.hh.

427  {
428  return c == right;
429  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
bool JLANG::JEquationParameters::isWhiteSpace ( const char  c) const
inlineinherited

Test for white space character.

Parameters
ccharacter
Returns
true if white space; else false

Definition at line 438 of file JEquationParameters.hh.

439  {
440  return ws .find(c) != std::string::npos;
441  }
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'

Member Data Documentation

std::locale::id JLANG::JStringFacet::id
staticinherited
Author
mdejong

Definition at line 31 of file JStringFacet.hh.

std::string JLANG::JEquationParameters::sep
protectedinherited

Definition at line 444 of file JEquationParameters.hh.

std::string JLANG::JEquationParameters::eol
protectedinherited

Definition at line 445 of file JEquationParameters.hh.

std::string JLANG::JEquationParameters::div
protectedinherited

Definition at line 446 of file JEquationParameters.hh.

std::string JLANG::JEquationParameters::skip
protectedinherited

Definition at line 447 of file JEquationParameters.hh.

char JLANG::JEquationParameters::left
protectedinherited

Definition at line 448 of file JEquationParameters.hh.

char JLANG::JEquationParameters::right
protectedinherited

Definition at line 449 of file JEquationParameters.hh.

std::string JLANG::JEquationParameters::ws
protectedinherited

Definition at line 450 of file JEquationParameters.hh.


The documentation for this class was generated from the following file: