Jpp 20.0.0-195-g190c9e876
the software that should make you happy
Loading...
Searching...
No Matches
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.
 
 JEquationFacet (const JEquationParameters &parameters)
 Constructor.
 
virtual JEquationFacetclone () const override
 Clone this facet.
 
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.
 
ostreambuf_iterator put (ostreambuf_iterator out, const std::ios_base &format, const char c, const char buffer) const
 Put character.
 
const std::string getPrefix (const std::string &prefix, const std::string &name) const
 Get combined prefix for output.
 
std::istream & pop (std::istream &in) const
 Pop white spaces.
 
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.
 
ostreambuf_iterator put (ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
 Put string.
 
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.
 
const JEquationParametersgetEquationParameters () const
 Get equation parameters.
 
void setEquationParameters (const JEquationParameters &buffer)
 Set equation parameters.
 
const char getDefaultSeparator () const
 Get default separator character.
 
const std::string & getSeparator () const
 Get separator characters.
 
std::string & getSeparator ()
 Get separator characters.
 
void setSeparator (const std::string &sep)
 Set separator character(s).
 
const char getDefaultEndOfLine () const
 Get default end of line character.
 
const char getPreferredEndOfLine (const unsigned int index) const
 Get preferred end of line character.
 
const string_typegetEndOfLine () const
 Get end of line characters.
 
string_typegetEndOfLine ()
 Get end of line characters.
 
void setEndOfLine (const std::string &eol)
 Set end of line characters.
 
const char getDefaultDivision () const
 Get default division character.
 
const std::string & getDivision () const
 Get division characters.
 
std::string & getDivision ()
 Get division characters.
 
void setDivision (const std::string &div)
 Set division characters.
 
const char getDefaultSkipLine () const
 Get default skip line character.
 
const std::string & getSkipLine () const
 Get skip line characters.
 
std::string & getSkipLine ()
 Get skip line characters.
 
void setSkipLine (const std::string &skip)
 Set skip line characters.
 
void setBrackets (const char left, const char right)
 Set brackets.
 
char getLeftBracket () const
 Get left bracket.
 
char & getLeftBracket ()
 Get left bracket.
 
char getRightBracket () const
 Get right bracket.
 
char & getRightBracket ()
 Get right bracket.
 
const char getDefaultWhiteSpace () const
 Get default white space character.
 
const string_typegetWhiteSpace () const
 Get white space characters.
 
string_typegetWhiteSpace ()
 Get white space characters.
 
void setWhiteSpace (const std::string &ws)
 Set white space characters.
 
const std::string & getComment () const
 Get comment string.
 
std::string & getComment ()
 Get comment string.
 
void setComment (const std::string &comment)
 Set comment string.
 
JEquationParametersjoin (const JEquationParameters &value)
 Join equation parameters.
 
bool isSeparator (const char c) const
 Test for separator character.
 
bool isEndOfLine (const char c) const
 Test for end of line character.
 
bool isDivision (const char c) const
 Test for division character.
 
bool isSkipLine (const char c) const
 Test for skip line character.
 
bool isLeftBracket (const char c) const
 Test for left bracket character.
 
bool isRightBracket (const char c) const
 Test for right bracket character.
 
bool isWhiteSpace (const char c) const
 Test for white space character.
 

Static Public Member Functions

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

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

Protected Attributes

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

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

◆ istreambuf_iterator

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

Definition at line 34 of file JStringFacet.hh.

◆ ostreambuf_iterator

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

Definition at line 35 of file JStringFacet.hh.

Constructor & Destructor Documentation

◆ JEquationFacet() [1/3]

JLANG::JEquationFacet::JEquationFacet ( )
inline

Default constructor.

Definition at line 45 of file JEquationFacet.hh.

45 :
48 {}
JEquationParameters()
Default constructor.
JStringFacet(std::size_t refs=0)
Constructor.

◆ JEquationFacet() [2/3]

JLANG::JEquationFacet::JEquationFacet ( const JEquationParameters & parameters)
inline

Constructor.

Parameters
parametersequation parameters

Definition at line 56 of file JEquationFacet.hh.

56 :
58 JEquationParameters(parameters)
59 {}

◆ JEquationFacet() [3/3]

JLANG::JEquationFacet::JEquationFacet ( const JEquationFacet & )
private

Member Function Documentation

◆ clone()

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.

◆ get() [1/2]

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 }
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.

◆ put() [1/2]

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.

◆ getPrefix()

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 }
const char getDefaultDivision() const
Get default division character.

◆ pop()

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.

◆ do_get() [1/2]

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 }
bool isSeparator(const char c) const
Test for separator character.
bool isDivision(const char c) const
Test for division character.
bool isEndOfLine(const char c) const
Test for end of line character.
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
const int n
Definition JPolint.hh:791

◆ do_get() [2/2]

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 }

◆ do_put() [1/2]

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 }

◆ do_put() [2/2]

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 }

◆ do_getline()

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 if (getComment() != "") {
403
404 string::size_type pos = buffer.find(getComment());
405
406 if (pos != string::npos) {
407 buffer.erase(pos);
408 }
409 }
410
411 return i;
412 }
const std::string & getComment() const
Get comment string.
bool isRightBracket(const char c) const
Test for right bracket character.
bool isLeftBracket(const char c) const
Test for left bracket character.

◆ operator=()

void JLANG::JEquationFacet::operator= ( const JEquationFacet & )
private

◆ get() [2/2]

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
inline

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 }

◆ put() [2/2]

ostreambuf_iterator JLANG::JStringFacet::put ( ostreambuf_iterator out,
const std::ios_base & format,
const char c,
const std::string & buffer ) const
inline

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 }

◆ ignore()

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 }
virtual istreambuf_iterator do_ignore(const istreambuf_iterator __begin, const istreambuf_iterator __end) const
Ignore characters until next end of line.

◆ getline()

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 }
virtual istreambuf_iterator do_getline(const istreambuf_iterator __begin, const istreambuf_iterator __end, std::ios_base::iostate &result, std::string &buffer) const
Read string.

◆ getIndex()

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 }

◆ do_ignore()

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 }

◆ getEquationParameters()

const JEquationParameters & JLANG::JEquationParameters::getEquationParameters ( ) const
inlineinherited

Get equation parameters.

Returns
equation parameters

Definition at line 150 of file JEquationParameters.hh.

151 {
152 return *this;
153 }

◆ setEquationParameters()

void JLANG::JEquationParameters::setEquationParameters ( const JEquationParameters & buffer)
inlineinherited

Set equation parameters.

Parameters
bufferequation parameters

Definition at line 161 of file JEquationParameters.hh.

162 {
163 static_cast<JEquationParameters&>(*this) = buffer;
164 }

◆ getDefaultSeparator()

const char JLANG::JEquationParameters::getDefaultSeparator ( ) const
inlineinherited

Get default separator character.

Returns
separator between parameter and its value

Definition at line 172 of file JEquationParameters.hh.

173 {
174 if (sep.empty())
175 return '=';
176 else
177 return sep[0];
178 }

◆ getSeparator() [1/2]

const std::string & JLANG::JEquationParameters::getSeparator ( ) const
inlineinherited

Get separator characters.

Returns
separator between parameter and its value

Definition at line 186 of file JEquationParameters.hh.

187 {
188 return sep;
189 }

◆ getSeparator() [2/2]

std::string & JLANG::JEquationParameters::getSeparator ( )
inlineinherited

Get separator characters.

Returns
separator between parameter and its value

Definition at line 197 of file JEquationParameters.hh.

198 {
199 return sep;
200 }

◆ setSeparator()

void JLANG::JEquationParameters::setSeparator ( const std::string & sep)
inlineinherited

Set separator character(s).

Parameters
sepseparator between parameter and its value

Definition at line 208 of file JEquationParameters.hh.

209 {
210 this->sep = sep;
211 }

◆ getDefaultEndOfLine()

const char JLANG::JEquationParameters::getDefaultEndOfLine ( ) const
inlineinherited

Get default end of line character.

Returns
end of line character

Definition at line 219 of file JEquationParameters.hh.

220 {
221 if (eol.empty())
222 return '\n';
223 else
224 return eol[0];
225 }

◆ getPreferredEndOfLine()

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 234 of file JEquationParameters.hh.

235 {
236 if (eol.empty())
237 return '\n';
238 else if (index < eol.size())
239 return eol[index];
240 else
241 return eol[0];
242 }

◆ getEndOfLine() [1/2]

const string_type & JLANG::JEquationParameters::getEndOfLine ( ) const
inlineinherited

Get end of line characters.

Returns
end of line characters

Definition at line 250 of file JEquationParameters.hh.

251 {
252 return eol;
253 }

◆ getEndOfLine() [2/2]

string_type & JLANG::JEquationParameters::getEndOfLine ( )
inlineinherited

Get end of line characters.

Returns
end of line characters

Definition at line 261 of file JEquationParameters.hh.

262 {
263 return eol;
264 }

◆ setEndOfLine()

void JLANG::JEquationParameters::setEndOfLine ( const std::string & eol)
inlineinherited

Set end of line characters.

Parameters
eolend of line character

Definition at line 272 of file JEquationParameters.hh.

273 {
274 this->eol = eol;
275 }

◆ getDefaultDivision()

const char JLANG::JEquationParameters::getDefaultDivision ( ) const
inlineinherited

Get default division character.

Returns
division character

Definition at line 283 of file JEquationParameters.hh.

284 {
285 if (div.empty())
286 return '.';
287 else
288 return div[0];
289 }

◆ getDivision() [1/2]

const std::string & JLANG::JEquationParameters::getDivision ( ) const
inlineinherited

Get division characters.

Returns
division characters

Definition at line 297 of file JEquationParameters.hh.

298 {
299 return div;
300 }

◆ getDivision() [2/2]

std::string & JLANG::JEquationParameters::getDivision ( )
inlineinherited

Get division characters.

Returns
division characters

Definition at line 308 of file JEquationParameters.hh.

309 {
310 return div;
311 }

◆ setDivision()

void JLANG::JEquationParameters::setDivision ( const std::string & div)
inlineinherited

Set division characters.

Parameters
divdivision characters

Definition at line 319 of file JEquationParameters.hh.

320 {
321 this->div = div;
322 }

◆ getDefaultSkipLine()

const char JLANG::JEquationParameters::getDefaultSkipLine ( ) const
inlineinherited

Get default skip line character.

Returns
skip line character

Definition at line 330 of file JEquationParameters.hh.

331 {
332 if (skip.empty())
333 return '#';
334 else
335 return skip[0];
336 }

◆ getSkipLine() [1/2]

const std::string & JLANG::JEquationParameters::getSkipLine ( ) const
inlineinherited

Get skip line characters.

Returns
skip line characters

Definition at line 344 of file JEquationParameters.hh.

345 {
346 return skip;
347 }

◆ getSkipLine() [2/2]

std::string & JLANG::JEquationParameters::getSkipLine ( )
inlineinherited

Get skip line characters.

Returns
skip line characters

Definition at line 355 of file JEquationParameters.hh.

356 {
357 return skip;
358 }

◆ setSkipLine()

void JLANG::JEquationParameters::setSkipLine ( const std::string & skip)
inlineinherited

Set skip line characters.

Parameters
skipskip line characters

Definition at line 366 of file JEquationParameters.hh.

367 {
368 this->skip = skip;
369 }

◆ setBrackets()

void JLANG::JEquationParameters::setBrackets ( const char left,
const char right )
inlineinherited

Set brackets.

Parameters
leftleft bracket
rightright bracket

Definition at line 378 of file JEquationParameters.hh.

◆ getLeftBracket() [1/2]

char JLANG::JEquationParameters::getLeftBracket ( ) const
inlineinherited

Get left bracket.

Returns
left bracket

Definition at line 390 of file JEquationParameters.hh.

391 {
392 return left;
393 }

◆ getLeftBracket() [2/2]

char & JLANG::JEquationParameters::getLeftBracket ( )
inlineinherited

Get left bracket.

Returns
left bracket

Definition at line 401 of file JEquationParameters.hh.

402 {
403 return left;
404 }

◆ getRightBracket() [1/2]

char JLANG::JEquationParameters::getRightBracket ( ) const
inlineinherited

Get right bracket.

Returns
right bracket

Definition at line 412 of file JEquationParameters.hh.

413 {
414 return right;
415 }

◆ getRightBracket() [2/2]

char & JLANG::JEquationParameters::getRightBracket ( )
inlineinherited

Get right bracket.

Returns
right bracket

Definition at line 423 of file JEquationParameters.hh.

424 {
425 return right;
426 }

◆ getDefaultWhiteSpace()

const char JLANG::JEquationParameters::getDefaultWhiteSpace ( ) const
inlineinherited

Get default white space character.

Returns
white space character

Definition at line 434 of file JEquationParameters.hh.

435 {
436 if (ws.empty())
437 return ' ';
438 else
439 return ws[0];
440 }

◆ getWhiteSpace() [1/2]

const string_type & JLANG::JEquationParameters::getWhiteSpace ( ) const
inlineinherited

Get white space characters.

Returns
white space characters

Definition at line 448 of file JEquationParameters.hh.

449 {
450 return ws;
451 }

◆ getWhiteSpace() [2/2]

string_type & JLANG::JEquationParameters::getWhiteSpace ( )
inlineinherited

Get white space characters.

Returns
white space characters

Definition at line 459 of file JEquationParameters.hh.

460 {
461 return ws;
462 }

◆ setWhiteSpace()

void JLANG::JEquationParameters::setWhiteSpace ( const std::string & ws)
inlineinherited

Set white space characters.

Parameters
wswhite space characters

Definition at line 470 of file JEquationParameters.hh.

471 {
472 this->ws = ws;
473 }

◆ getComment() [1/2]

const std::string & JLANG::JEquationParameters::getComment ( ) const
inlineinherited

Get comment string.

Returns
comment string

Definition at line 481 of file JEquationParameters.hh.

482 {
483 return comment;
484 }

◆ getComment() [2/2]

std::string & JLANG::JEquationParameters::getComment ( )
inlineinherited

Get comment string.

Returns
comment string

Definition at line 492 of file JEquationParameters.hh.

493 {
494 return comment;
495 }

◆ setComment()

void JLANG::JEquationParameters::setComment ( const std::string & comment)
inlineinherited

Set comment string.

Parameters
commentcomment string

Definition at line 503 of file JEquationParameters.hh.

504 {
505 this->comment = comment;
506 }

◆ join()

JEquationParameters & JLANG::JEquationParameters::join ( const JEquationParameters & value)
inlineinherited

Join equation parameters.

Parameters
valueequation parameters

Definition at line 514 of file JEquationParameters.hh.

515 {
516 using namespace std;
517
518 for (string::const_iterator i = value.sep.begin(); i != value.sep.end(); ++i) {
519 if (!isSeparator(*i)) {
520 sep += *i;
521 }
522 }
523
524 for (string::const_iterator i = value.eol.begin(); i != value.eol.end(); ++i) {
525 if (!isEndOfLine(*i)) {
526 eol += *i;
527 }
528 }
529
530 for (string::const_iterator i = value.div.begin(); i != value.div.end(); ++i) {
531 if (!isDivision(*i)) {
532 div += *i;
533 }
534 }
535
536 for (string::const_iterator i = value.skip.begin(); i != value.skip.end(); ++i) {
537 if (!isSkipLine(*i)) {
538 skip += *i;
539 }
540 }
541
542 for (string::const_iterator i = value.ws.begin(); i != value.ws.end(); ++i) {
543 if (!isWhiteSpace(*i)) {
544 ws += *i;
545 }
546 }
547
548 return *this;
549 }
bool isSkipLine(const char c) const
Test for skip line character.

◆ isSeparator()

bool JLANG::JEquationParameters::isSeparator ( const char c) const
inlineinherited

Test for separator character.

Parameters
ccharacter
Returns
true if separator; else false

Definition at line 558 of file JEquationParameters.hh.

559 {
560 return sep .find(c) != std::string::npos;
561 }

◆ isEndOfLine()

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 570 of file JEquationParameters.hh.

570{ return eol .find(c) != std::string::npos; }

◆ isDivision()

bool JLANG::JEquationParameters::isDivision ( const char c) const
inlineinherited

Test for division character.

Parameters
ccharacter
Returns
true if division; else false

Definition at line 579 of file JEquationParameters.hh.

580 {
581 return div .find(c) != std::string::npos;
582 }

◆ isSkipLine()

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 591 of file JEquationParameters.hh.

592 {
593 return skip.find(c) != std::string::npos;
594 }

◆ isLeftBracket()

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 603 of file JEquationParameters.hh.

604 {
605 return c == left;
606 }

◆ isRightBracket()

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 615 of file JEquationParameters.hh.

616 {
617 return c == right;
618 }

◆ isWhiteSpace()

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 627 of file JEquationParameters.hh.

628 {
629 return ws .find(c) != std::string::npos;
630 }

Member Data Documentation

◆ id

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

Definition at line 31 of file JStringFacet.hh.

◆ sep

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

Definition at line 633 of file JEquationParameters.hh.

◆ eol

string_type JLANG::JEquationParameters::eol
protectedinherited

Definition at line 634 of file JEquationParameters.hh.

◆ div

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

Definition at line 635 of file JEquationParameters.hh.

◆ skip

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

Definition at line 636 of file JEquationParameters.hh.

◆ left

char JLANG::JEquationParameters::left
protectedinherited

Definition at line 637 of file JEquationParameters.hh.

◆ right

char JLANG::JEquationParameters::right
protectedinherited

Definition at line 638 of file JEquationParameters.hh.

◆ ws

string_type JLANG::JEquationParameters::ws
protectedinherited

Definition at line 639 of file JEquationParameters.hh.

◆ comment

std::string JLANG::JEquationParameters::comment
protectedinherited

Definition at line 640 of file JEquationParameters.hh.


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