44 #ifndef OPAL_Expressions_HH
45 #define OPAL_Expressions_HH 1
64 namespace Expressions {
95 virtual void print(std::ostream &,
int precedence = 99)
const = 0;
109 public OwnPtr<Scalar<T> > {
127 template <
class T>
class ArrayOfPtrs:
public std::vector<PtrToScalar<T> > {
157 virtual std::vector<T>
evaluate()
const = 0;
166 virtual void print(std::ostream &,
int precedence = 99)
const = 0;
180 public OwnPtr<OArray<T> > {
266 template <
class T>
inline
271 template <
class T>
inline
276 template <
class T>
inline
281 template <
class T>
inline
290 template <
class T>
inline
295 template <
class T>
inline
300 template <
class T>
inline
305 template <
class T>
inline
315 template <
class T>
inline
321 template <
class T>
inline
327 template <
class T>
inline
333 template <
class T>
inline
341 template <
class T>
inline
347 template <
class T>
inline
353 template <
class T>
inline
359 template <
class T>
inline
368 template <
class T>
inline
374 template <
class T>
inline
380 template <
class T>
inline
386 template <
class T>
inline
395 #endif // OPAL_Expressions_HH
virtual void print(std::ostream &, int precedence=99) const =0
Print expression.
PtrToArray< double > parseRealConstArray(Statement &)
Parse real array constant.
Representation of a range within a beam line or sequence.
virtual T evaluate() const =0
Evaluate.
A pointer to an array expression.
void parseDelimiter(Statement &stat, char delim)
Test for one-character delimiter.
void operator=(const Scalar &)
TableRowRep parseTableRow(Statement &)
Parse a token list (for macro argument and the like).
virtual Scalar< T > * clone() const =0
Copy scalar expression.
An attribute defined as a reference to a scalar.
The base class for all OPAL tables.
PtrToArray & operator=(const PtrToArray< T > &)=default
std::vector< std::string > parseStringArray(Statement &)
Parse string array.
virtual bool isConstant() const
Test for constant.
PtrToArray< double > parseRealArray(Statement &)
Parse real array expression.
Representation of a place within a beam line or sequence.
std::list< Token > parseTokenList(Statement &)
Parse a token list (for macro argument and the like).
An array of pointers to scalar expressions.
SRefAttr< double > * parseReference(Statement &)
Parse variable reference.
Interface for statements.
PtrToScalar< bool > parseBool(Statement &)
Parse boolean expression.
std::string parseString(Statement &, const char msg[])
Parse string value.
PtrToScalar & operator=(const PtrToScalar &)=default
void operator=(const OArray &)
RangeRep parseRange(Statement &)
Parse range specification.
Representation of a table row reference.
virtual bool isConstant() const
Test for constant.
std::string parseStringValue(Statement &, const char msg[])
double parseRealConst(Statement &)
Parse real constant.
PlaceRep parsePlace(Statement &)
Parse place specification.
std::vector< std::list< Token > > parseTokenListArray(Statement &)
Parse a token list array (for LIST commands).
PtrToScalar< double > parseTableExpression(Statement &, const Table *)
Parse table expression (depends on a table's rows).
virtual OArray< T > * clone() const =0
Copy expression.
PtrToArray< bool > parseBoolArray(Statement &)
Parse boolean array expression.
A pointer to a scalar expression.
virtual void print(std::ostream &, int precedence=99) const =0
Print expression.
virtual std::vector< T > evaluate() const =0
Evaluate.
A pointer which owns the object pointed at.
PtrToScalar< double > parseReal(Statement &)
Parse real expression.