DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Functions
BasicGrammar_inl.h File Reference
#include "DD4hep/Primitives.h"
#include "DD4hep/BasicGrammar.h"
#include <string>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <deque>

Go to the source code of this file.

Classes

class  DD4hep::Grammar< TYPE >
 Concrete type dependent grammar definition. More...
 

Namespaces

 DD4hep
 Namespace for the AIDA detector description toolkit.
 

Macros

#define DD4HEP_DEFINE_PARSER_GRAMMAR_TYPE(x)
 
#define DD4HEP_DEFINE_PARSER_GRAMMAR_EVAL(x, func)
 
#define DD4HEP_DEFINE_PARSER_GRAMMAR(x, func)
 
#define DD4HEP_DEFINE_PARSER_GRAMMAR_CONT(x, eval_func)
 
#define DD4HEP_DEFINE_PARSER_GRAMMAR_CONT_VL(x, eval_func)
 
#define DD4HEP_DEFINE_PARSER_GRAMMAR_U_CONT(x)   DD4HEP_DEFINE_PARSER_GRAMMAR_CONT(x,eval_item)
 

Functions

static std::string DD4hep::pre_parse_obj (const std::string &in)
 Helper function to parse data type. More...
 
template<typename TYPE >
static int DD4hep::fill_data (std::vector< TYPE > *p, const std::vector< std::string > &temp)
 Insertion function for std vectors. More...
 
template<typename TYPE >
static int DD4hep::fill_data (std::list< TYPE > *p, const std::vector< std::string > &temp)
 Insertion function for std lists. More...
 
template<typename TYPE >
static int DD4hep::fill_data (std::set< TYPE > *p, const std::vector< std::string > &temp)
 Insertion function for std sets. More...
 
template<typename TYPE >
static int DD4hep::fill_data (std::deque< TYPE > *p, const std::vector< std::string > &temp)
 Insertion function for std sets. More...
 
template<typename KEY , typename TYPE >
static int DD4hep::fill_data (std::map< KEY, TYPE > *p, const std::vector< std::string > &temp)
 Insertion function for std sets. More...
 
template<typename TYPE >
static int DD4hep::eval_container (TYPE *p, const std::string &str)
 Container evaluator. More...
 
template<typename T >
int DD4hep::eval_item (T *p, std::string s)
 Item evaluator. More...
 
template<>
int DD4hep::eval_item< std::string > (std::string *p, std::string s)
 String evaluator. More...
 
template<typename T , typename Q >
int DD4hep::eval_pair (std::pair< T, Q > *p, std::string s)
 Item evaluator. More...
 
template<typename T >
int DD4hep::eval_obj (T *p, const std::string &str)
 Object evaluator. More...
 
template<typename T >
int DD4hep::eval_none (T *, const std::string &)
 
template<typename T >
int DD4hep::parse_none (T &, const std::string &)
 

Macro Definition Documentation

#define DD4HEP_DEFINE_PARSER_GRAMMAR (   x,
  func 
)
Value:
#define DD4HEP_DEFINE_PARSER_GRAMMAR_TYPE(x)
#define DD4HEP_DEFINE_PARSER_GRAMMAR_EVAL(x, func)

Definition at line 330 of file BasicGrammar_inl.h.

#define DD4HEP_DEFINE_PARSER_GRAMMAR_CONT (   x,
  eval_func 
)
Value:
std::pair< std::string, value_t > string_pair_t
Definition of the string mapped type.
Definition: Primitives.h:124
std::map< std::string, value_t > string_map_t
Definition of the string mapped type.
Definition: Primitives.h:141
std::map< int, value_t > int_map_t
Definition of the integer mapped type.
Definition: Primitives.h:131
static int eval_container(TYPE *p, const std::string &str)
Container evaluator.
#define DD4HEP_DEFINE_PARSER_GRAMMAR(x, func)
std::pair< int, value_t > int_pair_t
Definition of the integer mapped type.
Definition: Primitives.h:114
int eval_pair(std::pair< T, Q > *p, std::string s)
Item evaluator.

Definition at line 359 of file BasicGrammar_inl.h.

#define DD4HEP_DEFINE_PARSER_GRAMMAR_CONT_VL (   x,
  eval_func 
)
Value:
static int eval_container(TYPE *p, const std::string &str)
Container evaluator.
#define DD4HEP_DEFINE_PARSER_GRAMMAR(x, func)

Definition at line 369 of file BasicGrammar_inl.h.

#define DD4HEP_DEFINE_PARSER_GRAMMAR_EVAL (   x,
  func 
)
Value:
namespace DD4hep { \
template<> int Grammar<x >::evaluate(void* p, const std::string& v) const { return func ((x*)p,v); }}
virtual int evaluate(void *ptr, const std::string &value) const
Evaluate string value if possible before calling boost::spirit.
View * v
Definition: MultiView.cpp:30

Definition at line 326 of file BasicGrammar_inl.h.

#define DD4HEP_DEFINE_PARSER_GRAMMAR_TYPE (   x)
Value:
namespace DD4hep { \
template<> const BasicGrammar& BasicGrammar::instance<x>() { static Grammar<x> s; return s;}}
TGeoShape * s
Definition: Volumes.cpp:294

Definition at line 322 of file BasicGrammar_inl.h.

#define DD4HEP_DEFINE_PARSER_GRAMMAR_U_CONT (   x)    DD4HEP_DEFINE_PARSER_GRAMMAR_CONT(x,eval_item)

Definition at line 374 of file BasicGrammar_inl.h.