C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
exprtk::lexer::helper::helper_assembly Struct Reference
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 4188 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 4232 of file exprtk.hpp.

4233 {
4234 if (token_inserter_list.end() != std::find(token_inserter_list.begin(),
4235 token_inserter_list.end (),
4236 inserter))
4237 {
4238 return false;
4239 }
4240
4241 token_inserter_list.push_back(inserter);
4242
4243 return true;
4244 }
std::vector< lexer::token_inserter * > token_inserter_list
Definition exprtk.hpp:4337

References token_inserter_list.

Referenced by exprtk::parser< T >::init_precompilation().

Here is the caller graph for this function:

◆ register_joiner()

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

Definition at line 4218 of file exprtk.hpp.

4219 {
4220 if (token_joiner_list.end() != std::find(token_joiner_list.begin(),
4221 token_joiner_list.end (),
4222 joiner))
4223 {
4224 return false;
4225 }
4226
4227 token_joiner_list.push_back(joiner);
4228
4229 return true;
4230 }
std::vector< lexer::token_joiner * > token_joiner_list
Definition exprtk.hpp:4336

References token_joiner_list.

Referenced by exprtk::parser< T >::init_precompilation().

Here is the caller graph for this function:

◆ register_modifier()

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

Definition at line 4204 of file exprtk.hpp.

4205 {
4206 if (token_modifier_list.end() != std::find(token_modifier_list.begin(),
4207 token_modifier_list.end (),
4208 modifier))
4209 {
4210 return false;
4211 }
4212
4213 token_modifier_list.push_back(modifier);
4214
4215 return true;
4216 }
std::vector< lexer::token_modifier * > token_modifier_list
Definition exprtk.hpp:4335

References token_modifier_list.

Referenced by exprtk::parser< T >::init_precompilation().

Here is the caller graph for this function:

◆ register_scanner()

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

Definition at line 4190 of file exprtk.hpp.

4191 {
4192 if (token_scanner_list.end() != std::find(token_scanner_list.begin(),
4193 token_scanner_list.end (),
4194 scanner))
4195 {
4196 return false;
4197 }
4198
4199 token_scanner_list.push_back(scanner);
4200
4201 return true;
4202 }
std::vector< lexer::token_scanner * > token_scanner_list
Definition exprtk.hpp:4334

References token_scanner_list.

Referenced by exprtk::parser< T >::init_precompilation().

Here is the caller graph for this function:

◆ run_inserters()

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

Definition at line 4290 of file exprtk.hpp.

4291 {
4292 error_token_inserter = reinterpret_cast<lexer::token_inserter*>(0);
4293
4294 for (std::size_t i = 0; i < token_inserter_list.size(); ++i)
4295 {
4296 lexer::token_inserter& inserter = (*token_inserter_list[i]);
4297
4298 inserter.reset();
4299 inserter.process(g);
4300
4301 if (!inserter.result())
4302 {
4304
4305 return false;
4306 }
4307 }
4308
4309 return true;
4310 }
lexer::token_inserter * error_token_inserter
Definition exprtk.hpp:4342

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

Referenced by exprtk::parser< T >::run_assemblies().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_joiners()

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

Definition at line 4268 of file exprtk.hpp.

4269 {
4270 error_token_joiner = reinterpret_cast<lexer::token_joiner*>(0);
4271
4272 for (std::size_t i = 0; i < token_joiner_list.size(); ++i)
4273 {
4274 lexer::token_joiner& joiner = (*token_joiner_list[i]);
4275
4276 joiner.reset();
4277 joiner.process(g);
4278
4279 if (!joiner.result())
4280 {
4282
4283 return false;
4284 }
4285 }
4286
4287 return true;
4288 }
lexer::token_joiner * error_token_joiner
Definition exprtk.hpp:4341

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

Referenced by exprtk::parser< T >::run_assemblies().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_modifiers()

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

Definition at line 4246 of file exprtk.hpp.

4247 {
4248 error_token_modifier = reinterpret_cast<lexer::token_modifier*>(0);
4249
4250 for (std::size_t i = 0; i < token_modifier_list.size(); ++i)
4251 {
4252 lexer::token_modifier& modifier = (*token_modifier_list[i]);
4253
4254 modifier.reset();
4255 modifier.process(g);
4256
4257 if (!modifier.result())
4258 {
4260
4261 return false;
4262 }
4263 }
4264
4265 return true;
4266 }
lexer::token_modifier * error_token_modifier
Definition exprtk.hpp:4340

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

Referenced by exprtk::parser< T >::run_assemblies().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_scanners()

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

Definition at line 4312 of file exprtk.hpp.

4313 {
4314 error_token_scanner = reinterpret_cast<lexer::token_scanner*>(0);
4315
4316 for (std::size_t i = 0; i < token_scanner_list.size(); ++i)
4317 {
4318 lexer::token_scanner& scanner = (*token_scanner_list[i]);
4319
4320 scanner.reset();
4321 scanner.process(g);
4322
4323 if (!scanner.result())
4324 {
4326
4327 return false;
4328 }
4329 }
4330
4331 return true;
4332 }
lexer::token_scanner * error_token_scanner
Definition exprtk.hpp:4339

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

Referenced by exprtk::parser< T >::run_assemblies().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ error_token_inserter

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

Definition at line 4342 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 4341 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 4340 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 4339 of file exprtk.hpp.

Referenced by exprtk::parser< T >::run_assemblies(), and run_scanners().

◆ token_inserter_list

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

◆ token_joiner_list

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

◆ token_modifier_list

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

◆ token_scanner_list

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

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