casacore
Loading...
Searching...
No Matches
ExprLogicNode.h
Go to the documentation of this file.
1//# ExprLogicNode.h: Nodes representing scalar logical operators in table select expression tree
2//# Copyright (C) 1994,1995,1996,1997,1999,2000
3//# Associated Universities, Inc. Washington DC, USA.
4//#
5//# This library is free software; you can redistribute it and/or modify it
6//# under the terms of the GNU Library General Public License as published by
7//# the Free Software Foundation; either version 2 of the License, or (at your
8//# option) any later version.
9//#
10//# This library is distributed in the hope that it will be useful, but WITHOUT
11//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13//# License for more details.
14//#
15//# You should have received a copy of the GNU Library General Public License
16//# along with this library; if not, write to the Free Software Foundation,
17//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18//#
19//# Correspondence concerning AIPS++ should be addressed as follows:
20//# Internet email: casa-feedback@nrao.edu.
21//# Postal address: AIPS++ Project Office
22//# National Radio Astronomy Observatory
23//# 520 Edgemont Road
24//# Charlottesville, VA 22903-2475 USA
25
26#ifndef TABLES_EXPRLOGICNODE_H
27#define TABLES_EXPRLOGICNODE_H
28
29//# Includes
30#include <casacore/casa/aips.h>
31#include <casacore/tables/TaQL/ExprNodeRep.h>
32#include <set>
33
34
35namespace casacore { //# NAMESPACE CASACORE - BEGIN
36
37//# This file defines classes derived from TableExprNode representing
38//# the data type and operator in a table expression.
39//#
40//# Data types Bool, Int64, Double, DComplex and String are used.
41//# Char, uChar, Short, uShort, Int, and uInt are converted to Int64,
42//# Float to Double, and Complex to DComplex.
43//# Binary operators ==, >=, >, <, <=, !=, and IN are recognized.
44//# Also &&, ||, and unary ! are recognized.
45
46
47
48// <summary>
49// Bool comparison == in table select expression tree
50// </summary>
51
52// <use visibility=local>
53
54// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
55// </reviewed>
56
57// <prerequisite>
58//# Classes you should understand before using this one.
59// <li> TableExprNode
60// </prerequisite>
61
62// <synopsis>
63// This class represents an == comparison in a table select expression tree.
64// This is defined for all data types.
65// Only the Bool get function is defined, because the result of a
66// compare is always a Bool.
67// </synopsis>
68
70{
71public:
74 Bool getBool (const TableExprId& id) override;
75};
76
77
78// <summary>
79// Int comparison == in table select expression tree
80// </summary>
81
82// <use visibility=local>
83
84// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
85// </reviewed>
86
87// <prerequisite>
88//# Classes you should understand before using this one.
89// <li> TableExprNode
90// </prerequisite>
91
92// <synopsis>
93// This class represents an == comparison in a table select expression tree.
94// This is defined for all data types.
95// Only the Bool get function is defined, because the result of a
96// compare is always a Bool.
97// </synopsis>
98
100{
101public:
104 Bool getBool (const TableExprId& id) override;
105};
106
107
108// <summary>
109// Double comparison == in table select expression tree
110// </summary>
111
112// <use visibility=local>
113
114// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
115// </reviewed>
116
117// <prerequisite>
118//# Classes you should understand before using this one.
119// <li> TableExprNode
120// </prerequisite>
121
122// <synopsis>
123// This class represents an == comparison in a table select expression tree.
124// This is defined for all data types.
125// Only the Bool get function is defined, because the result of a
126// compare is always a Bool.
127// </synopsis>
128
137
138
139// <summary>
140// DComplex comparison == in table select expression tree
141// </summary>
142
143// <use visibility=local>
144
145// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
146// </reviewed>
147
148// <prerequisite>
149//# Classes you should understand before using this one.
150// <li> TableExprNode
151// </prerequisite>
152
153// <synopsis>
154// This class represents an == comparison in a table select expression tree.
155// This is defined for all data types.
156// Only the Bool get function is defined, because the result of a
157// compare is always a Bool.
158// </synopsis>
159
167
168
169// <summary>
170// String comparison == in table select expression tree
171// </summary>
172
173// <use visibility=local>
174
175// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
176// </reviewed>
177
178// <prerequisite>
179//# Classes you should understand before using this one.
180// <li> TableExprNode
181// </prerequisite>
182
183// <synopsis>
184// This class represents an == comparison in a table select expression tree.
185// This is defined for all data types.
186// Only the Bool get function is defined, because the result of a
187// compare is always a Bool.
188// </synopsis>
189
197
198
199// <summary>
200// Regex comparison == in table select expression tree
201// </summary>
202
203// <use visibility=local>
204
205// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
206// </reviewed>
207
208// <prerequisite>
209//# Classes you should understand before using this one.
210// <li> TableExprNode
211// </prerequisite>
212
213// <synopsis>
214// This class represents an == comparison in a table select expression tree.
215// This is defined for all data types.
216// Only the Bool get function is defined, because the result of a
217// compare is always a Bool.
218// </synopsis>
219
221{
222public:
225 Bool getBool (const TableExprId& id) override;
226};
227
228
229// <summary>
230// Date comparison == in table select expression tree
231// </summary>
232
233// <use visibility=local>
234
235// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
236// </reviewed>
237
238// <prerequisite>
239//# Classes you should understand before using this one.
240// <li> TableExprNode
241// </prerequisite>
242
243// <synopsis>
244// This class represents an == comparison in a table select expression tree.
245// This is defined for all data types.
246// Only the Bool get function is defined, because the result of a
247// compare is always a Bool.
248// </synopsis>
249
251{
252public:
255 Bool getBool (const TableExprId& id) override;
256};
257
258
259
260// <summary>
261// Bool comparison != in table select expression tree
262// </summary>
263
264// <use visibility=local>
265
266// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
267// </reviewed>
268
269// <prerequisite>
270//# Classes you should understand before using this one.
271// <li> TableExprNode
272// </prerequisite>
273
274// <synopsis>
275// This class represents an != comparison in a table select expression tree.
276// This is defined for all data types.
277// Only the Bool get function is defined, because the result of a
278// compare is always a Bool.
279// </synopsis>
280
282{
283public:
286 Bool getBool (const TableExprId& id) override;
287};
288
289
290// <summary>
291// Int comparison != in table select expression tree
292// </summary>
293
294// <use visibility=local>
295
296// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
297// </reviewed>
298
299// <prerequisite>
300//# Classes you should understand before using this one.
301// <li> TableExprNode
302// </prerequisite>
303
304// <synopsis>
305// This class represents an != comparison in a table select expression tree.
306// This is defined for all data types.
307// Only the Bool get function is defined, because the result of a
308// compare is always a Bool.
309// </synopsis>
310
312{
313public:
316 Bool getBool (const TableExprId& id) override;
317};
318
319
320// <summary>
321// Double comparison != in table select expression tree
322// </summary>
323
324// <use visibility=local>
325
326// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
327// </reviewed>
328
329// <prerequisite>
330//# Classes you should understand before using this one.
331// <li> TableExprNode
332// </prerequisite>
333
334// <synopsis>
335// This class represents an != comparison in a table select expression tree.
336// This is defined for all data types.
337// Only the Bool get function is defined, because the result of a
338// compare is always a Bool.
339// </synopsis>
340
348
349
350// <summary>
351// DComplex comparison != in table select expression tree
352// </summary>
353
354// <use visibility=local>
355
356// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
357// </reviewed>
358
359// <prerequisite>
360//# Classes you should understand before using this one.
361// <li> TableExprNode
362// </prerequisite>
363
364// <synopsis>
365// This class represents an != comparison in a table select expression tree.
366// This is defined for all data types.
367// Only the Bool get function is defined, because the result of a
368// compare is always a Bool.
369// </synopsis>
370
378
379
380// <summary>
381// String comparison != in table select expression tree
382// </summary>
383
384// <use visibility=local>
385
386// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
387// </reviewed>
388
389// <prerequisite>
390//# Classes you should understand before using this one.
391// <li> TableExprNode
392// </prerequisite>
393
394// <synopsis>
395// This class represents an != comparison in a table select expression tree.
396// This is defined for all data types.
397// Only the Bool get function is defined, because the result of a
398// compare is always a Bool.
399// </synopsis>
400
408
409
410// <summary>
411// Regex comparison != in table select expression tree
412// </summary>
413
414// <use visibility=local>
415
416// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
417// </reviewed>
418
419// <prerequisite>
420//# Classes you should understand before using this one.
421// <li> TableExprNode
422// </prerequisite>
423
424// <synopsis>
425// This class represents an != comparison in a table select expression tree.
426// This is defined for all data types.
427// Only the Bool get function is defined, because the result of a
428// compare is always a Bool.
429// </synopsis>
430
432{
433public:
436 Bool getBool (const TableExprId& id) override;
437};
438
439
440// <summary>
441// Date comparison != in table select expression tree
442// </summary>
443
444// <use visibility=local>
445
446// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
447// </reviewed>
448
449// <prerequisite>
450//# Classes you should understand before using this one.
451// <li> TableExprNode
452// </prerequisite>
453
454// <synopsis>
455// This class represents an != comparison in a table select expression tree.
456// This is defined for all data types.
457// Only the Bool get function is defined, because the result of a
458// compare is always a Bool.
459// </synopsis>
460
462{
463public:
466 Bool getBool (const TableExprId& id) override;
467};
468
469
470
471// <summary>
472// Int comparison > in table select expression tree
473// </summary>
474
475// <use visibility=local>
476
477// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
478// </reviewed>
479
480// <prerequisite>
481//# Classes you should understand before using this one.
482// <li> TableExprNode
483// </prerequisite>
484
485// <synopsis>
486// This class represents an > comparison in a table select expression tree.
487// This is defined for all data types.
488// Only the Bool get function is defined, because the result of a
489// compare is always a Bool.
490// </synopsis>
491
493{
494public:
497 Bool getBool (const TableExprId& id) override;
498};
499
500
501// <summary>
502// Double comparison > in table select expression tree
503// </summary>
504
505// <use visibility=local>
506
507// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
508// </reviewed>
509
510// <prerequisite>
511//# Classes you should understand before using this one.
512// <li> TableExprNode
513// </prerequisite>
514
515// <synopsis>
516// This class represents an > comparison in a table select expression tree.
517// This is defined for all data types.
518// Only the Bool get function is defined, because the result of a
519// compare is always a Bool.
520// </synopsis>
521
530
531
532// <summary>
533// DComplex comparison > in table select expression tree
534// </summary>
535
536// <use visibility=local>
537
538// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
539// </reviewed>
540
541// <prerequisite>
542//# Classes you should understand before using this one.
543// <li> TableExprNode
544// </prerequisite>
545
546// <synopsis>
547// This class represents an > comparison in a table select expression tree.
548// This is defined for all data types.
549// Only the Bool get function is defined, because the result of a
550// compare is always a Bool.
551// </synopsis>
552
560
561
562// <summary>
563// String comparison > in table select expression tree
564// </summary>
565
566// <use visibility=local>
567
568// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
569// </reviewed>
570
571// <prerequisite>
572//# Classes you should understand before using this one.
573// <li> TableExprNode
574// </prerequisite>
575
576// <synopsis>
577// This class represents an > comparison in a table select expression tree.
578// This is defined for all data types.
579// Only the Bool get function is defined, because the result of a
580// compare is always a Bool.
581// </synopsis>
582
590
591
592// <summary>
593// Date comparison > in table select expression tree
594// </summary>
595
596// <use visibility=local>
597
598// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
599// </reviewed>
600
601// <prerequisite>
602//# Classes you should understand before using this one.
603// <li> TableExprNode
604// </prerequisite>
605
606// <synopsis>
607// This class represents an > comparison in a table select expression tree.
608// This is defined for all data types.
609// Only the Bool get function is defined, because the result of a
610// compare is always a Bool.
611// </synopsis>
612
614{
615public:
618 Bool getBool (const TableExprId& id) override;
619};
620
621
622
623// <summary>
624// Int comparison >= in table select expression tree
625// </summary>
626
627// <use visibility=local>
628
629// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
630// </reviewed>
631
632// <prerequisite>
633//# Classes you should understand before using this one.
634// <li> TableExprNode
635// </prerequisite>
636
637// <synopsis>
638// This class represents an >= comparison in a table select expression tree.
639// This is defined for all data types.
640// Only the Bool get function is defined, because the result of a
641// compare is always a Bool.
642// </synopsis>
643
645{
646public:
649 Bool getBool (const TableExprId& id) override;
650};
651
652
653// <summary>
654// Double comparison >= in table select expression tree
655// </summary>
656
657// <use visibility=local>
658
659// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
660// </reviewed>
661
662// <prerequisite>
663//# Classes you should understand before using this one.
664// <li> TableExprNode
665// </prerequisite>
666
667// <synopsis>
668// This class represents an >= comparison in a table select expression tree.
669// This is defined for all data types.
670// Only the Bool get function is defined, because the result of a
671// compare is always a Bool.
672// </synopsis>
673
682
683
684// <summary>
685// DComplex comparison >= in table select expression tree
686// </summary>
687
688// <use visibility=local>
689
690// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
691// </reviewed>
692
693// <prerequisite>
694//# Classes you should understand before using this one.
695// <li> TableExprNode
696// </prerequisite>
697
698// <synopsis>
699// This class represents an >= comparison in a table select expression tree.
700// This is defined for all data types.
701// Only the Bool get function is defined, because the result of a
702// compare is always a Bool.
703// </synopsis>
704
712
713
714// <summary>
715// String comparison >= in table select expression tree
716// </summary>
717
718// <use visibility=local>
719
720// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
721// </reviewed>
722
723// <prerequisite>
724//# Classes you should understand before using this one.
725// <li> TableExprNode
726// </prerequisite>
727
728// <synopsis>
729// This class represents an >= comparison in a table select expression tree.
730// This is defined for all data types.
731// Only the Bool get function is defined, because the result of a
732// compare is always a Bool.
733// </synopsis>
734
742
743
744// <summary>
745// Date comparison >= in table select expression tree
746// </summary>
747
748// <use visibility=local>
749
750// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
751// </reviewed>
752
753// <prerequisite>
754//# Classes you should understand before using this one.
755// <li> TableExprNode
756// </prerequisite>
757
758// <synopsis>
759// This class represents an >= comparison in a table select expression tree.
760// This is defined for all data types.
761// Only the Bool get function is defined, because the result of a
762// compare is always a Bool.
763// </synopsis>
764
766{
767public:
770 Bool getBool (const TableExprId& id) override;
771};
772
773
774
775// <summary>
776// Int comparison IN in table select expression tree
777// </summary>
778
779// <use visibility=local>
780
781// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
782// </reviewed>
783
784// <prerequisite>
785//# Classes you should understand before using this one.
786// <li> TableExprNode
787// </prerequisite>
788
789// <synopsis>
790// This class represents an IN comparison in a table select expression tree.
791// This is defined for all data types.
792// Only the Bool get function is defined, because the result of a
793// compare is always a Bool.
794// The right hand side can be optimized if it contains a constant array which
795// can be replaced by an std::unordered_set<Int64> or a Block<Bool>.
796// </synopsis>
797
799{
800public:
801 // <src>doTracing</src> is not used.
804 void optimize() override;
805 static void doOptimize (TENShPtr& rnode);
806 Bool getBool (const TableExprId& id) override;
807private:
808};
809
810
811// <summary>
812// Double comparison IN in table select expression tree
813// </summary>
814
815// <use visibility=local>
816
817// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
818// </reviewed>
819
820// <prerequisite>
821//# Classes you should understand before using this one.
822// <li> TableExprNode
823// </prerequisite>
824
825// <synopsis>
826// This class represents an IN comparison in a table select expression tree.
827// This is defined for all data types.
828// Only the Bool get function is defined, because the result of a
829// compare is always a Bool.
830// The right hand side can be optimized if it contains a constant set with
831// bounded intervals.
832// </synopsis>
833
835{
836public:
839 void optimize() override;
840 static void doOptimize (TENShPtr& rnode);
841 Bool getBool (const TableExprId& id) override;
842};
843
844
845// <summary>
846// DComplex comparison IN in table select expression tree
847// </summary>
848
849// <use visibility=local>
850
851// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
852// </reviewed>
853
854// <prerequisite>
855//# Classes you should understand before using this one.
856// <li> TableExprNode
857// </prerequisite>
858
859// <synopsis>
860// This class represents an IN comparison in a table select expression tree.
861// This is defined for all data types.
862// Only the Bool get function is defined, because the result of a
863// compare is always a Bool.
864// </synopsis>
865
873
874
875// <summary>
876// String comparison IN in table select expression tree
877// </summary>
878
879// <use visibility=local>
880
881// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
882// </reviewed>
883
884// <prerequisite>
885//# Classes you should understand before using this one.
886// <li> TableExprNode
887// </prerequisite>
888
889// <synopsis>
890// This class represents an IN comparison in a table select expression tree.
891// This is defined for all data types.
892// Only the Bool get function is defined, because the result of a
893// compare is always a Bool.
894// The right hand side can be optimized if it contains a constant array which
895// can be replaced by an std::unordered_set<String>
896// </synopsis>
897
899{
900public:
903 void optimize() override;
904 static void doOptimize (TENShPtr& rnode);
905 Bool getBool (const TableExprId& id) override;
906};
907
908
909// <summary>
910// Date comparison IN in table select expression tree
911// </summary>
912
913// <use visibility=local>
914
915// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
916// </reviewed>
917
918// <prerequisite>
919//# Classes you should understand before using this one.
920// <li> TableExprNode
921// </prerequisite>
922
923// <synopsis>
924// This class represents an IN comparison in a table select expression tree.
925// This is defined for all data types.
926// Only the Bool get function is defined, because the result of a
927// compare is always a Bool.
928// </synopsis>
929
931{
932public:
935 void optimize() override;
936 static void doOptimize (TENShPtr& rnode);
937 Bool getBool (const TableExprId& id) override;
938};
939
940
941
942// <summary>
943// Logical or in table select expression tree
944// </summary>
945
946// <use visibility=local>
947
948// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
949// </reviewed>
950
951// <prerequisite>
952//# Classes you should understand before using this one.
953// <li> TableExprNode
954// </prerequisite>
955
956// <synopsis>
957// This class represents a logical or in a table select expression tree.
958// This is defined for Bool only.
959// </synopsis>
960
962{
963public:
965 ~TableExprNodeOR() = default;
966 Bool getBool (const TableExprId& id) override;
968};
969
970
971// <summary>
972// Logical and in table select expression tree
973// </summary>
974
975// <use visibility=local>
976
977// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
978// </reviewed>
979
980// <prerequisite>
981//# Classes you should understand before using this one.
982// <li> TableExprNode
983// </prerequisite>
984
985// <synopsis>
986// This class represents a logical and in a table select expression tree.
987// This is defined for Bool only.
988// </synopsis>
989
991{
992public:
994 ~TableExprNodeAND() = default;
995 Bool getBool (const TableExprId& id) override;
997};
998
999
1000// <summary>
1001// Logical not in table select expression tree
1002// </summary>
1003
1004// <use visibility=local>
1005
1006// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
1007// </reviewed>
1008
1009// <prerequisite>
1010//# Classes you should understand before using this one.
1011// <li> TableExprNode
1012// </prerequisite>
1013
1014// <synopsis>
1015// This class represents a logical not in a table select expression tree.
1016// This is defined for Bool only.
1017// </synopsis>
1018
1020{
1021public:
1024 Bool getBool (const TableExprId& id) override;
1025};
1026
1027
1028
1029
1030} //# NAMESPACE CASACORE - END
1031
1032#endif
simple 1-D array
Definition Block.h:198
Logical and in table select expression tree.
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeAND(const TableExprNodeRep &)
Abstract base class for a node having 0, 1, or 2 child nodes.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQBool(const TableExprNodeRep &)
DComplex comparison == in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQDComplex(const TableExprNodeRep &)
Date comparison == in table select expression tree.
TableExprNodeEQDate(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Double comparison == in table select expression tree.
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
TableExprNodeEQDouble(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Int comparison == in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQInt(const TableExprNodeRep &)
Regex comparison == in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQRegex(const TableExprNodeRep &)
String comparison == in table select expression tree.
TableExprNodeEQString(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
DComplex comparison >= in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEDComplex(const TableExprNodeRep &)
Date comparison >= in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEDate(const TableExprNodeRep &)
Double comparison >= in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
TableExprNodeGEDouble(const TableExprNodeRep &)
Int comparison >= in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEInt(const TableExprNodeRep &)
String comparison >= in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEString(const TableExprNodeRep &)
DComplex comparison > in table select expression tree.
TableExprNodeGTDComplex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Date comparison > in table select expression tree.
TableExprNodeGTDate(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Double comparison > in table select expression tree.
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
TableExprNodeGTDouble(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Int comparison > in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGTInt(const TableExprNodeRep &)
String comparison > in table select expression tree.
TableExprNodeGTString(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
DComplex comparison IN in table select expression tree.
TableExprNodeINDComplex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Date comparison IN in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
TableExprNodeINDate(const TableExprNodeRep &)
static void doOptimize(TENShPtr &rnode)
Double comparison IN in table select expression tree.
static void doOptimize(TENShPtr &rnode)
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
TableExprNodeINDouble(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Int comparison IN in table select expression tree.
TableExprNodeINInt(const TableExprNodeRep &, Bool doTracing=False)
doTracing is not used.
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
static void doOptimize(TENShPtr &rnode)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
String comparison IN in table select expression tree.
TableExprNodeINString(const TableExprNodeRep &)
void optimize() override
Try to optimize the node (meant for the right hand of the IN operator).
static void doOptimize(TENShPtr &rnode)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Bool comparison != in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEBool(const TableExprNodeRep &)
DComplex comparison != in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEDComplex(const TableExprNodeRep &)
Date comparison != in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEDate(const TableExprNodeRep &)
Double comparison != in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEDouble(const TableExprNodeRep &)
Int comparison != in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEInt(const TableExprNodeRep &)
Regex comparison != in table select expression tree.
TableExprNodeNERegex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
String comparison != in table select expression tree.
TableExprNodeNEString(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Logical not in table select expression tree.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNOT(const TableExprNodeRep &)
Logical or in table select expression tree.
TableExprNodeOR(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
void ranges(Block< TableExprRange > &) override
Convert the tree to a number of range vectors which at least select the same things.
Abstract base class for a node in a table column expression tree.
this file contains all the compiler specific defines
Definition mainpage.dox:28
const Bool False
Definition aipstype.h:42
std::shared_ptr< TableExprNodeRep > TENShPtr
Definition ExprNodeRep.h:55
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40