AmpGen
2.1
Toggle main menu visibility
Loading...
Searching...
No Matches
Array.h
Go to the documentation of this file.
1
#ifndef AMPGEN_ARRAY_H
2
#define AMPGEN_ARRAY_H
3
4
#include <memory>
5
#include <vector>
6
#include <cstddef>
7
#include <memory>
8
#include <string>
9
#include <utility>
10
11
#include "
AmpGen/Expression.h
"
12
#include "
AmpGen/CompiledExpressionBase.h
"
13
#include "
AmpGen/Types.h
"
14
15
namespace
AmpGen
{
16
class
ASTResolver
;
17
23
class
Array
:
public
IExpression
{
24
public
:
25
Array
(
const
Expression
&
top
,
const
int
&
size
,
const
Expression
&address = 0);
26
std::string
to_string
(
const
ASTResolver
*resolver =
nullptr
)
const override
;
27
void
resolve
(
ASTResolver
&resolver)
const override
;
28
operator
Expression
();
29
complex_t
operator()
()
const override
;
30
Expression
operator[]
(
const
Expression
&address)
const
;
31
Expression
top
()
const
{
return
m_top; }
32
int
size
()
const
{
return
m_size; }
33
34
private
:
35
Expression
m_top;
36
Expression
m_address;
37
int
m_size;
38
};
39
}
// namespace AmpGen
40
41
#endif
CompiledExpressionBase.h
Expression.h
Types.h
AmpGen::ASTResolver
(Internal) class to aide in the resolution of the dependencies of expression trees.
Definition
ASTResolver.h:30
AmpGen::Array::Array
Array(const Expression &top, const int &size, const Expression &address=0)
AmpGen::Array::size
int size() const
Definition
Array.h:32
AmpGen::Array::operator()
complex_t operator()() const override
Evaluate the expression using the tree, will generally be very slow but ocassionally useful for debug...
AmpGen::Array::top
Expression top() const
Definition
Array.h:31
AmpGen::Array::resolve
void resolve(ASTResolver &resolver) const override
Resolve the dependencies of a tree using an ASTResolver, which keeps track of parameters,...
AmpGen::Array::to_string
std::string to_string(const ASTResolver *resolver=nullptr) const override
Called to convert the Expression tree into source code.
AmpGen::Array::operator[]
Expression operator[](const Expression &address) const
AmpGen::Expression
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Definition
Expression.h:135
AmpGen::IExpression
Virtual base class for other expression tree components.
Definition
Expression.h:116
AmpGen
Definition
AddCPConjugate.h:2
AmpGen::complex_t
std::complex< real_t > complex_t
Definition
Types.h:7
AmpGen
Array.h
Generated on
for AmpGen by
1.17.0