Version: 9.15.0
YACS::optimizerlooptypeParser< T > Struct Template Reference

#include <loopParsers.hxx>

Inheritance diagram for YACS::optimizerlooptypeParser< T >:
Collaboration diagram for YACS::optimizerlooptypeParser< T >:

Public Member Functions

virtual void buildAttr (const XML_Char **attr)
 
virtual void pre ()
 
virtual void name (const std::string &name)
 
virtual void lib (const std::string &name)
 
virtual void entry (const std::string &name)
 
virtual void nbranch (const int &n)
 
virtual void weight (const double &x)
 
virtual void kind (const std::string &name)
 
virtual void postAttr ()
 
virtual T post ()
 
- Public Member Functions inherited from YACS::dynparalooptypeParser< ENGINE::OptimizerLoop * >
virtual void onStart (const XML_Char *el, const XML_Char **attr)
 
virtual void onEnd (const char *el, parser *child)
 
virtual void initnode (PseudoComposedNode *const &n)
 
virtual void finalizenode (PseudoComposedNode *const &n)
 
- Public Member Functions inherited from YACS::looptypeParser< T >
virtual void state (const std::string &name)
 
virtual void property (const myprop &prop)
 
virtual void inline_ (ENGINE::InlineNode *const &n)
 
virtual void sinline (ENGINE::ServiceInlineNode *const &n)
 
virtual void service (ENGINE::ServiceNode *const &n)
 
virtual void server (ENGINE::ServerNode *const &n)
 
virtual void remote (ENGINE::InlineNode *const &n)
 
virtual void node (ENGINE::InlineNode *const &n)
 
virtual void forloop (ENGINE::ForLoop *const &b)
 
virtual void foreach (ENGINE::ForEachLoopGen *const &b)
 
virtual void optimizer (ENGINE::OptimizerLoop *const &b)
 
virtual void while_ (ENGINE::WhileLoop *const &b)
 
virtual void switch_ (ENGINE::Switch *const &b)
 
virtual void bloc (ENGINE::Bloc *const &b)
 
virtual void datalink (const mylink &l)
 
- Public Member Functions inherited from YACS::parser
 parser ()
 
virtual ~parser ()
 
virtual void SetUserDataAndPush (parser *pp)
 
virtual void charData (const XML_Char *s, int len)
 
virtual void endParser ()
 
virtual void init ()
 
virtual void incrCount (const XML_Char *elem)
 
virtual void checkOrder (std::string &el)
 
virtual void maxcount (std::string name, int max, std::string &el)
 
virtual void mincount (std::string name, int min)
 
virtual void maxchoice (std::string *names, int max, std::string &el)
 
virtual void minchoice (std::string *names, int min)
 
virtual void required (const std::string &name, const XML_Char **attr)
 
std::stack< parser * > & getStack ()
 
template<class T >
post ()
 
void logError (const std::string &reason)
 

Public Attributes

int _nbranch
 
double _weight
 
std::string _fullname
 
std::string _name
 
std::string _entry
 
std::string _kind
 
std::string _lib
 
- Public Attributes inherited from YACS::looptypeParser< T >
std::string _state
 
_cnode
 
std::vector< T > _cnodes
 
- Public Attributes inherited from YACS::parser
std::string _file
 
std::string _content
 
std::map< std::string, int > * _counts
 
std::map< std::string, int > _orders
 
int _orderState
 
int _level
 
std::stack< std::map< std::string, int > * > _stackCount
 
std::stack< int > _stackOrder
 
std::map< std::string, parser * > * _defaultParsersMap
 

Static Public Attributes

static optimizerlooptypeParser< T > optimizerloopParser
 
- Static Public Attributes inherited from YACS::parser
static parser main_parser
 
static std::stack< parser * > _stackParser
 

Additional Inherited Members

- Static Public Member Functions inherited from YACS::parser
static void XMLCALL start_document (void *data)
 
static void XMLCALL end_document (void *data)
 
static void XMLCALL start_element (void *data, const xmlChar *name, const xmlChar **p)
 
static void XMLCALL end_element (void *data, const xmlChar *name)
 
static void XMLCALL characters (void *data, const xmlChar *ch, int len)
 
static void XMLCALL comment (void *data, const xmlChar *value)
 
static void XMLCALL cdata_block (void *data, const xmlChar *value, int len)
 
static void XMLCALL warning (void *data, const char *fmt,...)
 
static void XMLCALL error (void *data, const char *fmt,...)
 
static void XMLCALL fatal_error (void *data, const char *fmt,...)
 
static void XML_SetUserData (_xmlParserCtxt *ctxt, parser *par)
 

Detailed Description

template<class T = ENGINE::OptimizerLoop*>
struct YACS::optimizerlooptypeParser< T >

Definition at line 602 of file loopParsers.hxx.

Member Function Documentation

◆ buildAttr()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::buildAttr ( const XML_Char **  attr)
inlinevirtual

Reimplemented from YACS::looptypeParser< T >.

Definition at line 606 of file loopParsers.hxx.

607  {
608  if (!attr)
609  return;
610  this->required("name",attr);
611  this->required("lib",attr);
612  this->required("entry",attr);
613  for (int i = 0; attr[i]; i += 2)
614  {
615  if(std::string(attr[i]) == "name")name(attr[i+1]);
616  if(std::string(attr[i]) == "state")this->state(attr[i+1]);
617  if(std::string(attr[i]) == "nbranch")nbranch(atoi(attr[i+1]));
618  if(std::string(attr[i]) == "loopWeight")weight(atof(attr[i+1]));
619  if(std::string(attr[i]) == "lib")lib(attr[i+1]);
620  if(std::string(attr[i]) == "entry")entry(attr[i+1]);
621  if(std::string(attr[i]) == "kind")kind(attr[i+1]);
622  }
623  postAttr();
624  }
virtual void state(const std::string &name)
virtual void kind(const std::string &name)
virtual void name(const std::string &name)
virtual void weight(const double &x)
virtual void lib(const std::string &name)
virtual void entry(const std::string &name)
virtual void nbranch(const int &n)
virtual void required(const std::string &name, const XML_Char **attr)
Definition: parserBase.cxx:186

References YACS::optimizerlooptypeParser< T >::entry(), yacsorb.CORBAEngineTest::i, YACS::optimizerlooptypeParser< T >::kind(), YACS::optimizerlooptypeParser< T >::lib(), YACS::optimizerlooptypeParser< T >::name(), YACS::optimizerlooptypeParser< T >::nbranch(), YACS::optimizerlooptypeParser< T >::postAttr(), YACS::parser::required(), YACS::looptypeParser< T >::state(), and YACS::optimizerlooptypeParser< T >::weight().

◆ entry()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::entry ( const std::string &  name)
inlinevirtual

◆ kind()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::kind ( const std::string &  name)
inlinevirtual

◆ lib()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::lib ( const std::string &  name)
inlinevirtual

◆ name()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::name ( const std::string &  name)
inlinevirtual

◆ nbranch()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::nbranch ( const int &  n)
inlinevirtual

Definition at line 645 of file loopParsers.hxx.

646  {
647  DEBTRACE("optimizer_nbranch: " << n )
648  _nbranch=n;
649  }

References YACS::optimizerlooptypeParser< T >::_nbranch, DEBTRACE, and gui.Appli::n.

Referenced by YACS::optimizerlooptypeParser< T >::buildAttr().

◆ post()

template<class T = ENGINE::OptimizerLoop*>
virtual T YACS::optimizerlooptypeParser< T >::post ( )
inlinevirtual

Definition at line 668 of file loopParsers.hxx.

669  {
670  DEBTRACE("optimizer_post" << this->_cnode->getName())
671  T b=this->_cnode;
672  this->_cnodes.pop_back();
673  currentProc->names.pop_back();
674  this->_cnode=this->_cnodes.empty() ? 0 : this->_cnodes.back();
675  return b;
676  }
std::vector< T > _cnodes
Definition: loopParsers.hxx:72

References YACS::looptypeParser< T >::_cnode, YACS::looptypeParser< T >::_cnodes, gui.CONNECTOR::b, currentProc, DEBTRACE, and YACS::ENGINE::Proc::names.

◆ postAttr()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::postAttr ( )
inlinevirtual

Definition at line 659 of file loopParsers.hxx.

660  {
662  //set number of branches
663  if(_nbranch > 0)this->_cnode->edGetNbOfBranchesPort()->edInit(_nbranch);
664  if(_weight > 0)this->_cnode->setWeight(_weight);
665  this->_cnodes.push_back(this->_cnode);
666  currentProc->names.push_back(_fullname + '.');
667  }
YACS::ENGINE::Runtime * theRuntime
Definition: parsers.cxx:40
virtual OptimizerLoop * createOptimizerLoop(const std::string &name, const std::string &algLib, const std::string &factoryName, bool algInitOnFile, const std::string &kind="", Proc *procForTypes=NULL)
Definition: Runtime.cxx:263

References YACS::looptypeParser< T >::_cnode, YACS::looptypeParser< T >::_cnodes, YACS::optimizerlooptypeParser< T >::_entry, YACS::optimizerlooptypeParser< T >::_fullname, YACS::optimizerlooptypeParser< T >::_kind, YACS::optimizerlooptypeParser< T >::_lib, YACS::optimizerlooptypeParser< T >::_name, YACS::optimizerlooptypeParser< T >::_nbranch, YACS::optimizerlooptypeParser< T >::_weight, YACS::ENGINE::Runtime::createOptimizerLoop(), currentProc, YACS::ENGINE::Proc::names, and theRuntime.

Referenced by YACS::optimizerlooptypeParser< T >::buildAttr().

◆ pre()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::pre ( )
inlinevirtual

◆ weight()

template<class T = ENGINE::OptimizerLoop*>
virtual void YACS::optimizerlooptypeParser< T >::weight ( const double &  x)
inlinevirtual

Definition at line 650 of file loopParsers.hxx.

651  {
652  DEBTRACE("foreach_weight: " << x )
653  _weight=x;
654  }

References YACS::optimizerlooptypeParser< T >::_weight, and DEBTRACE.

Referenced by YACS::optimizerlooptypeParser< T >::buildAttr().

Member Data Documentation

◆ _entry

template<class T = ENGINE::OptimizerLoop*>
std::string YACS::optimizerlooptypeParser< T >::_entry

◆ _fullname

template<class T = ENGINE::OptimizerLoop*>
std::string YACS::optimizerlooptypeParser< T >::_fullname

◆ _kind

template<class T = ENGINE::OptimizerLoop*>
std::string YACS::optimizerlooptypeParser< T >::_kind

◆ _lib

template<class T = ENGINE::OptimizerLoop*>
std::string YACS::optimizerlooptypeParser< T >::_lib

◆ _name

template<class T = ENGINE::OptimizerLoop*>
std::string YACS::optimizerlooptypeParser< T >::_name

◆ _nbranch

◆ _weight

template<class T = ENGINE::OptimizerLoop*>
double YACS::optimizerlooptypeParser< T >::_weight

◆ optimizerloopParser

template<class T >
optimizerlooptypeParser< T > YACS::optimizerlooptypeParser< T >::optimizerloopParser
static

Definition at line 604 of file loopParsers.hxx.


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