OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
AColumn.h
Go to the documentation of this file.
1#ifndef OPAL_AColumn_HH
2#define OPAL_AColumn_HH
3
4// ------------------------------------------------------------------------
5// $RCSfile: AColumn.h,v $
6// ------------------------------------------------------------------------
7// $Revision: 1.1.1.1 $
8// ------------------------------------------------------------------------
9// Copyright: see Copyright.readme
10// ------------------------------------------------------------------------
11//
12// Class: AColumn
13//
14// ------------------------------------------------------------------------
15//
16// $Date: 2000/03/27 09:33:41 $
17// $Author: Andreas Adelmann $
18//
19// ------------------------------------------------------------------------
20
21#include <iosfwd>
24
25class Table;
26
27namespace Expressions {
28
29 // Class AColumn.
30 // ----------------------------------------------------------------------
32 // The result is defined as the values contained in that column,
33 // delimited by a range.
34
35 class AColumn : public OArray<double> {
36 public:
38 // Use table name [b]tName[/b], column name [b]cName[/b], and range
39 // representation [b]rng[/b].
40 AColumn(const std::string& tName, const std::string& cName, const RangeRep& rng);
41
42 AColumn(const AColumn&);
43 ~AColumn();
44
46 virtual OArray<double>* clone() const;
47
49 virtual std::vector<double> evaluate() const;
50
52 virtual void print(std::ostream& os, int precedence = 99) const;
53
54 private:
55 // Not implemented.
57 const AColumn& operator=(const AColumn&);
58
59 // Table and column name.
60 const std::string tab_name;
61 const std::string col_name;
62
63 // The range specification.
65 };
66
67} // namespace Expressions
68
69#endif // OPAL_AColumn_HH
An array expression defined as a table column.
Definition AColumn.h:35
virtual std::vector< double > evaluate() const
Evaluate.
Definition AColumn.cpp:44
virtual OArray< double > * clone() const
Make clone.
Definition AColumn.cpp:42
RangeRep itsRange
Definition AColumn.h:64
virtual void print(std::ostream &os, int precedence=99) const
Print expression.
Definition AColumn.cpp:50
const AColumn & operator=(const AColumn &)
const std::string col_name
Definition AColumn.h:61
const std::string tab_name
Definition AColumn.h:60
Representation of a range within a beam line or sequence.
Definition RangeRep.h:33
The base class for all OPAL tables.
Definition Table.h:41
Representation objects and parsers for attribute expressions.