1 #ifndef OPAL_Expressions_HH
2 #define OPAL_Expressions_HH 1
72 namespace Expressions {
103 virtual void print(std::ostream &,
int precedence = 99)
const = 0;
117 public OwnPtr<Scalar<T> > {
134 template <
class T>
class ArrayOfPtrs:
public std::vector<PtrToScalar<T> > {
164 virtual std::vector<T>
evaluate()
const = 0;
173 virtual void print(std::ostream &,
int precedence = 99)
const = 0;
187 public OwnPtr<OArray<T> > {
272 template <
class T>
inline
277 template <
class T>
inline
282 template <
class T>
inline
287 template <
class T>
inline
296 template <
class T>
inline
301 template <
class T>
inline
306 template <
class T>
inline
311 template <
class T>
inline
321 template <
class T>
inline
327 template <
class T>
inline
333 template <
class T>
inline
339 template <
class T>
inline
347 template <
class T>
inline
353 template <
class T>
inline
359 template <
class T>
inline
365 template <
class T>
inline
374 template <
class T>
inline
380 template <
class T>
inline
386 template <
class T>
inline
392 template <
class T>
inline
401 #endif // OPAL_Expressions_HH
virtual bool isConstant() const
Test for constant.
double parseRealConst(Statement &)
Parse real constant.
virtual void print(std::ostream &, int precedence=99) const =0
Print expression.
PlaceRep parsePlace(Statement &)
Parse place specification.
void operator=(const Scalar &)
virtual bool isConstant() const
Test for constant.
PtrToScalar< double > parseReal(Statement &)
Parse real expression.
A pointer to a scalar expression.
RangeRep parseRange(Statement &)
Parse range specification.
A pointer which owns the object pointed at.
Representation of a table row reference.
SRefAttr< double > * parseReference(Statement &)
Parse variable reference.
An attribute defined as a reference to a scalar.
virtual OArray< T > * clone() const =0
Copy expression.
void parseDelimiter(Statement &stat, char delim)
Test for one-character delimiter.
Representation of a place within a beam line or sequence.
PtrToScalar< bool > parseBool(Statement &)
Parse boolean expression.
virtual void print(std::ostream &, int precedence=99) const =0
Print expression.
Interface for statements.
virtual Scalar< T > * clone() const =0
Copy scalar expression.
TableRowRep parseTableRow(Statement &)
Parse a token list (for macro argument and the like).
Representation of a range within a beam line or sequence.
std::vector< std::string > parseStringArray(Statement &)
Parse string array.
PtrToArray< double > parseRealArray(Statement &)
Parse real array expression.
PtrToScalar< double > parseTableExpression(Statement &, const Table *)
Parse table expression (depends on a table's rows).
An array of pointers to scalar expressions.
std::list< Token > parseTokenList(Statement &)
Parse a token list (for macro argument and the like).
virtual std::vector< T > evaluate() const =0
Evaluate.
virtual T evaluate() const =0
Evaluate.
void operator=(const OArray &)
std::string parseString(Statement &, const char msg[])
Parse string value.
PtrToArray< double > parseRealConstArray(Statement &)
Parse real array constant.
The base class for all OPAL tables.
PtrToArray< bool > parseBoolArray(Statement &)
Parse boolean array expression.
A pointer to an array expression.
std::vector< std::list< Token > > parseTokenListArray(Statement &)
Parse a token list array (for LIST commands).