OpenCurves  0.9
plotbindinfo.h
1 //
2 // author Kazys Stepanas
3 //
4 // Copyright (c) CSIRO 2015
5 //
6 #ifndef __BINDINFO_H_
7 #define __BINDINFO_H_
8 
9 #include "plotsconfig.h"
10 
11 #include "plotexpressionbinddomain.h"
12 
13 #include <QString>
14 #include <QList>
15 #include <QVector>
16 
17 class PlotExpression;
18 class PlotBindingTracker;
19 class PlotInstance;
20 
23 struct BindInfo
24 {
27 };
28 
80 namespace binding
81 {
105  BindResult bindMultiple(const QList<PlotInstance *> &curves, PlotBindingTracker &bindTracker, BindInfo &head, BindInfo *tail, unsigned tailLength, bool repeatLast);
106 }
107 
108 #endif // __BINDINFO_H_
Supports multiple bindings of the same expression to different curves.
Definition: plotbindingtracker.h:34
PlotExpressionBindDomain domain
The domain of expression.
Definition: plotbindinfo.h:25
Core data for binding a PlotExpression.
Definition: plotexpressionbinddomain.h:49
A structure tracking the domain for an expression during binding.
Definition: plotbindinfo.h:23
BindResult bindMultiple(const QList< PlotInstance * > &curves, PlotBindingTracker &bindTracker, BindInfo &head, BindInfo *tail, unsigned tailLength, bool repeatLast)
Bind multiple expressions, ensuring exhaustive binding combinations.
Holds data for a single curve.
Definition: plotinstance.h:43
Contains utility functions for binding expression tree branches.
Definition: plotbindinfo.h:80
BindResult
Return values for the PlotExpression::bind() method.
Definition: plotexpressionbinddomain.h:15
A PlotExpression represents an operation in a plot equation.
Definition: plotexpression.h:91
PlotExpression * expression
The expression to track.
Definition: plotbindinfo.h:26