DD4hep  1.31.0
Detector Description Toolkit for High Energy Physics
Classes | Macros | Typedefs | Enumerations
Evaluator.cpp File Reference
#include "Evaluator/Evaluator.h"
#include "Evaluator/detail/Evaluator.h"
#include <iostream>
#include <cmath>
#include <sstream>
#include <mutex>
#include <condition_variable>
#include <cctype>
#include <cerrno>
#include <cstring>
#include <cstdlib>
#include <stack>
#include <string>
#include <unordered_map>

Go to the source code of this file.

Classes

struct  EVAL::Object::Struct
 Internal expression evaluator helper class. More...
 
struct  EVAL::Object::Struct::ReadLock
 
struct  EVAL::Object::Struct::WriteLock
 

Macros

#define ATTR_FALLTHROUGH
 
#define EVAL   dd4hep::tools::Evaluator
 
#define REMOVE_BLANKS
 
#define SKIP_BLANKS
 
#define EVAL_EXIT(STATUS, POSITION)   endp = POSITION; return STATUS
 
#define MAX_N_PAR   5
 

Typedefs

typedef std::unordered_map< std::string, Item > dic_type
 

Enumerations

enum  {
  ENDL, LBRA, OR, AND,
  EQ, NE, GE, GT,
  LE, LT, PLUS, MINUS,
  MULT, DIV, POW, RBRA,
  VALUE
}
 

Macro Definition Documentation

◆ ATTR_FALLTHROUGH

#define ATTR_FALLTHROUGH

Definition at line 41 of file Evaluator.cpp.

◆ EVAL

#define EVAL   dd4hep::tools::Evaluator

Definition at line 45 of file Evaluator.cpp.

◆ EVAL_EXIT

#define EVAL_EXIT (   STATUS,
  POSITION 
)    endp = POSITION; return STATUS

Definition at line 140 of file Evaluator.cpp.

◆ MAX_N_PAR

#define MAX_N_PAR   5

Definition at line 141 of file Evaluator.cpp.

◆ REMOVE_BLANKS

#define REMOVE_BLANKS
Value:
for(pointer=name;;pointer++) if (!isspace(*pointer)) break; \
for(n=strlen(pointer);n>0;n--) if (!isspace(*(pointer+n-1))) break

Definition at line 130 of file Evaluator.cpp.

◆ SKIP_BLANKS

#define SKIP_BLANKS
Value:
for(;;pointer++) { \
c = (pointer > end) ? '\0' : *pointer; \
if (!isspace(c)) break; \
}

Definition at line 134 of file Evaluator.cpp.

Typedef Documentation

◆ dic_type

typedef std::unordered_map<std::string,Item> dic_type

Definition at line 81 of file Evaluator.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ENDL 
LBRA 
OR 
AND 
EQ 
NE 
GE 
GT 
LE 
LT 
PLUS 
MINUS 
MULT 
DIV 
POW 
RBRA 
VALUE 

Definition at line 144 of file Evaluator.cpp.