C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
exprtk::lexer::helper::helper_assembly Struct Reference

#include <exprtk.hpp>

Collaboration diagram for exprtk::lexer::helper::helper_assembly:
[legend]

Public Member Functions

bool register_scanner (lexer::token_scanner *scanner)
bool register_modifier (lexer::token_modifier *modifier)
bool register_joiner (lexer::token_joiner *joiner)
bool register_inserter (lexer::token_inserter *inserter)
bool run_modifiers (lexer::generator &g)
bool run_joiners (lexer::generator &g)
bool run_inserters (lexer::generator &g)
bool run_scanners (lexer::generator &g)

Public Attributes

std::vector< lexer::token_scanner * > token_scanner_list
std::vector< lexer::token_modifier * > token_modifier_list
std::vector< lexer::token_joiner * > token_joiner_list
std::vector< lexer::token_inserter * > token_inserter_list
lexer::token_scannererror_token_scanner
lexer::token_modifiererror_token_modifier
lexer::token_joinererror_token_joiner
lexer::token_insertererror_token_inserter

Detailed Description

Definition at line 4252 of file exprtk.hpp.

Member Function Documentation

◆ register_inserter()

bool exprtk::lexer::helper::helper_assembly::register_inserter ( lexer::token_inserter * inserter)
inline

Definition at line 4296 of file exprtk.hpp.

4297 {
4298 if (token_inserter_list.end() != std::find(token_inserter_list.begin(),
4299 token_inserter_list.end (),
4300 inserter))
4301 {
4302 return false;
4303 }
4304
4305 token_inserter_list.push_back(inserter);
4306
4307 return true;
4308 }
std::vector< lexer::token_inserter * > token_inserter_list
Definition exprtk.hpp:4401

References token_inserter_list.

◆ register_joiner()

bool exprtk::lexer::helper::helper_assembly::register_joiner ( lexer::token_joiner * joiner)
inline

Definition at line 4282 of file exprtk.hpp.

4283 {
4284 if (token_joiner_list.end() != std::find(token_joiner_list.begin(),
4285 token_joiner_list.end (),
4286 joiner))
4287 {
4288 return false;
4289 }
4290
4291 token_joiner_list.push_back(joiner);
4292
4293 return true;
4294 }
std::vector< lexer::token_joiner * > token_joiner_list
Definition exprtk.hpp:4400

References token_joiner_list.

◆ register_modifier()

bool exprtk::lexer::helper::helper_assembly::register_modifier ( lexer::token_modifier * modifier)
inline

Definition at line 4268 of file exprtk.hpp.

4269 {
4270 if (token_modifier_list.end() != std::find(token_modifier_list.begin(),
4271 token_modifier_list.end (),
4272 modifier))
4273 {
4274 return false;
4275 }
4276
4277 token_modifier_list.push_back(modifier);
4278
4279 return true;
4280 }
std::vector< lexer::token_modifier * > token_modifier_list
Definition exprtk.hpp:4399

References token_modifier_list.

◆ register_scanner()

bool exprtk::lexer::helper::helper_assembly::register_scanner ( lexer::token_scanner * scanner)
inline

Definition at line 4254 of file exprtk.hpp.

4255 {
4256 if (token_scanner_list.end() != std::find(token_scanner_list.begin(),
4257 token_scanner_list.end (),
4258 scanner))
4259 {
4260 return false;
4261 }
4262
4263 token_scanner_list.push_back(scanner);
4264
4265 return true;
4266 }
std::vector< lexer::token_scanner * > token_scanner_list
Definition exprtk.hpp:4398

References token_scanner_list.

◆ run_inserters()

bool exprtk::lexer::helper::helper_assembly::run_inserters ( lexer::generator & g)
inline

Definition at line 4354 of file exprtk.hpp.

4355 {
4356 error_token_inserter = reinterpret_cast<lexer::token_inserter*>(0);
4357
4358 for (std::size_t i = 0; i < token_inserter_list.size(); ++i)
4359 {
4360 lexer::token_inserter& inserter = (*token_inserter_list[i]);
4361
4362 inserter.reset();
4363 inserter.process(g);
4364
4365 if (!inserter.result())
4366 {
4368
4369 return false;
4370 }
4371 }
4372
4373 return true;
4374 }
lexer::token_inserter * error_token_inserter
Definition exprtk.hpp:4406

References error_token_inserter, exprtk::lexer::token_inserter::process(), exprtk::lexer::helper_interface::reset(), exprtk::lexer::helper_interface::result(), and token_inserter_list.

Here is the call graph for this function:

◆ run_joiners()

bool exprtk::lexer::helper::helper_assembly::run_joiners ( lexer::generator & g)
inline

Definition at line 4332 of file exprtk.hpp.

4333 {
4334 error_token_joiner = reinterpret_cast<lexer::token_joiner*>(0);
4335
4336 for (std::size_t i = 0; i < token_joiner_list.size(); ++i)
4337 {
4338 lexer::token_joiner& joiner = (*token_joiner_list[i]);
4339
4340 joiner.reset();
4341 joiner.process(g);
4342
4343 if (!joiner.result())
4344 {
4346
4347 return false;
4348 }
4349 }
4350
4351 return true;
4352 }
lexer::token_joiner * error_token_joiner
Definition exprtk.hpp:4405

References error_token_joiner, exprtk::lexer::token_joiner::process(), exprtk::lexer::helper_interface::reset(), exprtk::lexer::helper_interface::result(), and token_joiner_list.

Here is the call graph for this function:

◆ run_modifiers()

bool exprtk::lexer::helper::helper_assembly::run_modifiers ( lexer::generator & g)
inline

Definition at line 4310 of file exprtk.hpp.

4311 {
4312 error_token_modifier = reinterpret_cast<lexer::token_modifier*>(0);
4313
4314 for (std::size_t i = 0; i < token_modifier_list.size(); ++i)
4315 {
4316 lexer::token_modifier& modifier = (*token_modifier_list[i]);
4317
4318 modifier.reset();
4319 modifier.process(g);
4320
4321 if (!modifier.result())
4322 {
4324
4325 return false;
4326 }
4327 }
4328
4329 return true;
4330 }
lexer::token_modifier * error_token_modifier
Definition exprtk.hpp:4404

References error_token_modifier, exprtk::lexer::token_modifier::process(), exprtk::lexer::helper_interface::reset(), exprtk::lexer::helper_interface::result(), and token_modifier_list.

Here is the call graph for this function:

◆ run_scanners()

bool exprtk::lexer::helper::helper_assembly::run_scanners ( lexer::generator & g)
inline

Definition at line 4376 of file exprtk.hpp.

4377 {
4378 error_token_scanner = reinterpret_cast<lexer::token_scanner*>(0);
4379
4380 for (std::size_t i = 0; i < token_scanner_list.size(); ++i)
4381 {
4382 lexer::token_scanner& scanner = (*token_scanner_list[i]);
4383
4384 scanner.reset();
4385 scanner.process(g);
4386
4387 if (!scanner.result())
4388 {
4390
4391 return false;
4392 }
4393 }
4394
4395 return true;
4396 }
lexer::token_scanner * error_token_scanner
Definition exprtk.hpp:4403

References error_token_scanner, exprtk::lexer::token_scanner::process(), exprtk::lexer::helper_interface::reset(), exprtk::lexer::helper_interface::result(), and token_scanner_list.

Here is the call graph for this function:

Member Data Documentation

◆ error_token_inserter

lexer::token_inserter* exprtk::lexer::helper::helper_assembly::error_token_inserter

Definition at line 4406 of file exprtk.hpp.

Referenced by run_inserters().

◆ error_token_joiner

lexer::token_joiner* exprtk::lexer::helper::helper_assembly::error_token_joiner

Definition at line 4405 of file exprtk.hpp.

Referenced by run_joiners().

◆ error_token_modifier

lexer::token_modifier* exprtk::lexer::helper::helper_assembly::error_token_modifier

Definition at line 4404 of file exprtk.hpp.

Referenced by run_modifiers().

◆ error_token_scanner

lexer::token_scanner* exprtk::lexer::helper::helper_assembly::error_token_scanner

Definition at line 4403 of file exprtk.hpp.

Referenced by run_scanners().

◆ token_inserter_list

std::vector<lexer::token_inserter*> exprtk::lexer::helper::helper_assembly::token_inserter_list

Definition at line 4401 of file exprtk.hpp.

Referenced by register_inserter(), and run_inserters().

◆ token_joiner_list

std::vector<lexer::token_joiner*> exprtk::lexer::helper::helper_assembly::token_joiner_list

Definition at line 4400 of file exprtk.hpp.

Referenced by register_joiner(), and run_joiners().

◆ token_modifier_list

std::vector<lexer::token_modifier*> exprtk::lexer::helper::helper_assembly::token_modifier_list

Definition at line 4399 of file exprtk.hpp.

Referenced by register_modifier(), and run_modifiers().

◆ token_scanner_list

std::vector<lexer::token_scanner*> exprtk::lexer::helper::helper_assembly::token_scanner_list

Definition at line 4398 of file exprtk.hpp.

Referenced by register_scanner(), and run_scanners().


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