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
34namespace casacore { // # NAMESPACE CASACORE - BEGIN
35
36// # This file defines classes derived from TableExprNode representing
37// # the data type and operator in a table expression.
38// #
39// # Data types Bool, Int64, Double, DComplex and String are used.
40// # Char, uChar, Short, uShort, Int, and uInt are converted to Int64,
41// # Float to Double, and Complex to DComplex.
42// # Binary operators ==, >=, >, <, <=, !=, and IN are recognized.
43// # Also &&, ||, and unary ! are recognized.
44
45// <summary>
46// Bool comparison == in table select expression tree
47// </summary>
48
49// <use visibility=local>
50
51// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
52// </reviewed>
53
54// <prerequisite>
55// # Classes you should understand before using this one.
56// <li> TableExprNode
57// </prerequisite>
58
59// <synopsis>
60// This class represents an == comparison in a table select expression tree.
61// This is defined for all data types.
62// Only the Bool get function is defined, because the result of a
63// compare is always a Bool.
64// </synopsis>
65
72
73// <summary>
74// Int comparison == in table select expression tree
75// </summary>
76
77// <use visibility=local>
78
79// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
80// </reviewed>
81
82// <prerequisite>
83// # Classes you should understand before using this one.
84// <li> TableExprNode
85// </prerequisite>
86
87// <synopsis>
88// This class represents an == comparison in a table select expression tree.
89// This is defined for all data types.
90// Only the Bool get function is defined, because the result of a
91// compare is always a Bool.
92// </synopsis>
93
95 public:
98 Bool getBool(const TableExprId& id) override;
99};
100
101// <summary>
102// Double comparison == in table select expression tree
103// </summary>
104
105// <use visibility=local>
106
107// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
108// </reviewed>
109
110// <prerequisite>
111// # Classes you should understand before using this one.
112// <li> TableExprNode
113// </prerequisite>
114
115// <synopsis>
116// This class represents an == comparison in a table select expression tree.
117// This is defined for all data types.
118// Only the Bool get function is defined, because the result of a
119// compare is always a Bool.
120// </synopsis>
121
129
130// <summary>
131// DComplex comparison == in table select expression tree
132// </summary>
133
134// <use visibility=local>
135
136// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
137// </reviewed>
138
139// <prerequisite>
140// # Classes you should understand before using this one.
141// <li> TableExprNode
142// </prerequisite>
143
144// <synopsis>
145// This class represents an == comparison in a table select expression tree.
146// This is defined for all data types.
147// Only the Bool get function is defined, because the result of a
148// compare is always a Bool.
149// </synopsis>
150
157
158// <summary>
159// String comparison == in table select expression tree
160// </summary>
161
162// <use visibility=local>
163
164// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
165// </reviewed>
166
167// <prerequisite>
168// # Classes you should understand before using this one.
169// <li> TableExprNode
170// </prerequisite>
171
172// <synopsis>
173// This class represents an == comparison in a table select expression tree.
174// This is defined for all data types.
175// Only the Bool get function is defined, because the result of a
176// compare is always a Bool.
177// </synopsis>
178
185
186// <summary>
187// Regex comparison == in table select expression tree
188// </summary>
189
190// <use visibility=local>
191
192// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
193// </reviewed>
194
195// <prerequisite>
196// # Classes you should understand before using this one.
197// <li> TableExprNode
198// </prerequisite>
199
200// <synopsis>
201// This class represents an == comparison in a table select expression tree.
202// This is defined for all data types.
203// Only the Bool get function is defined, because the result of a
204// compare is always a Bool.
205// </synopsis>
206
213
214// <summary>
215// Date comparison == in table select expression tree
216// </summary>
217
218// <use visibility=local>
219
220// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
221// </reviewed>
222
223// <prerequisite>
224// # Classes you should understand before using this one.
225// <li> TableExprNode
226// </prerequisite>
227
228// <synopsis>
229// This class represents an == comparison in a table select expression tree.
230// This is defined for all data types.
231// Only the Bool get function is defined, because the result of a
232// compare is always a Bool.
233// </synopsis>
234
241
242// <summary>
243// Bool comparison != in table select expression tree
244// </summary>
245
246// <use visibility=local>
247
248// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
249// </reviewed>
250
251// <prerequisite>
252// # Classes you should understand before using this one.
253// <li> TableExprNode
254// </prerequisite>
255
256// <synopsis>
257// This class represents an != comparison in a table select expression tree.
258// This is defined for all data types.
259// Only the Bool get function is defined, because the result of a
260// compare is always a Bool.
261// </synopsis>
262
269
270// <summary>
271// Int comparison != in table select expression tree
272// </summary>
273
274// <use visibility=local>
275
276// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
277// </reviewed>
278
279// <prerequisite>
280// # Classes you should understand before using this one.
281// <li> TableExprNode
282// </prerequisite>
283
284// <synopsis>
285// This class represents an != comparison in a table select expression tree.
286// This is defined for all data types.
287// Only the Bool get function is defined, because the result of a
288// compare is always a Bool.
289// </synopsis>
290
292 public:
295 Bool getBool(const TableExprId& id) override;
296};
297
298// <summary>
299// Double comparison != in table select expression tree
300// </summary>
301
302// <use visibility=local>
303
304// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
305// </reviewed>
306
307// <prerequisite>
308// # Classes you should understand before using this one.
309// <li> TableExprNode
310// </prerequisite>
311
312// <synopsis>
313// This class represents an != comparison in a table select expression tree.
314// This is defined for all data types.
315// Only the Bool get function is defined, because the result of a
316// compare is always a Bool.
317// </synopsis>
318
325
326// <summary>
327// DComplex comparison != in table select expression tree
328// </summary>
329
330// <use visibility=local>
331
332// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
333// </reviewed>
334
335// <prerequisite>
336// # Classes you should understand before using this one.
337// <li> TableExprNode
338// </prerequisite>
339
340// <synopsis>
341// This class represents an != comparison in a table select expression tree.
342// This is defined for all data types.
343// Only the Bool get function is defined, because the result of a
344// compare is always a Bool.
345// </synopsis>
346
353
354// <summary>
355// String comparison != in table select expression tree
356// </summary>
357
358// <use visibility=local>
359
360// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
361// </reviewed>
362
363// <prerequisite>
364// # Classes you should understand before using this one.
365// <li> TableExprNode
366// </prerequisite>
367
368// <synopsis>
369// This class represents an != comparison in a table select expression tree.
370// This is defined for all data types.
371// Only the Bool get function is defined, because the result of a
372// compare is always a Bool.
373// </synopsis>
374
381
382// <summary>
383// Regex comparison != in table select expression tree
384// </summary>
385
386// <use visibility=local>
387
388// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
389// </reviewed>
390
391// <prerequisite>
392// # Classes you should understand before using this one.
393// <li> TableExprNode
394// </prerequisite>
395
396// <synopsis>
397// This class represents an != comparison in a table select expression tree.
398// This is defined for all data types.
399// Only the Bool get function is defined, because the result of a
400// compare is always a Bool.
401// </synopsis>
402
409
410// <summary>
411// Date 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
437
438// <summary>
439// Int comparison > in table select expression tree
440// </summary>
441
442// <use visibility=local>
443
444// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
445// </reviewed>
446
447// <prerequisite>
448// # Classes you should understand before using this one.
449// <li> TableExprNode
450// </prerequisite>
451
452// <synopsis>
453// This class represents an > comparison in a table select expression tree.
454// This is defined for all data types.
455// Only the Bool get function is defined, because the result of a
456// compare is always a Bool.
457// </synopsis>
458
460 public:
463 Bool getBool(const TableExprId& id) override;
464};
465
466// <summary>
467// Double comparison > in table select expression tree
468// </summary>
469
470// <use visibility=local>
471
472// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
473// </reviewed>
474
475// <prerequisite>
476// # Classes you should understand before using this one.
477// <li> TableExprNode
478// </prerequisite>
479
480// <synopsis>
481// This class represents an > comparison in a table select expression tree.
482// This is defined for all data types.
483// Only the Bool get function is defined, because the result of a
484// compare is always a Bool.
485// </synopsis>
486
494
495// <summary>
496// DComplex comparison > in table select expression tree
497// </summary>
498
499// <use visibility=local>
500
501// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
502// </reviewed>
503
504// <prerequisite>
505// # Classes you should understand before using this one.
506// <li> TableExprNode
507// </prerequisite>
508
509// <synopsis>
510// This class represents an > comparison in a table select expression tree.
511// This is defined for all data types.
512// Only the Bool get function is defined, because the result of a
513// compare is always a Bool.
514// </synopsis>
515
522
523// <summary>
524// String comparison > in table select expression tree
525// </summary>
526
527// <use visibility=local>
528
529// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
530// </reviewed>
531
532// <prerequisite>
533// # Classes you should understand before using this one.
534// <li> TableExprNode
535// </prerequisite>
536
537// <synopsis>
538// This class represents an > comparison in a table select expression tree.
539// This is defined for all data types.
540// Only the Bool get function is defined, because the result of a
541// compare is always a Bool.
542// </synopsis>
543
550
551// <summary>
552// Date comparison > in table select expression tree
553// </summary>
554
555// <use visibility=local>
556
557// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
558// </reviewed>
559
560// <prerequisite>
561// # Classes you should understand before using this one.
562// <li> TableExprNode
563// </prerequisite>
564
565// <synopsis>
566// This class represents an > comparison in a table select expression tree.
567// This is defined for all data types.
568// Only the Bool get function is defined, because the result of a
569// compare is always a Bool.
570// </synopsis>
571
578
579// <summary>
580// Int comparison >= in table select expression tree
581// </summary>
582
583// <use visibility=local>
584
585// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
586// </reviewed>
587
588// <prerequisite>
589// # Classes you should understand before using this one.
590// <li> TableExprNode
591// </prerequisite>
592
593// <synopsis>
594// This class represents an >= comparison in a table select expression tree.
595// This is defined for all data types.
596// Only the Bool get function is defined, because the result of a
597// compare is always a Bool.
598// </synopsis>
599
601 public:
604 Bool getBool(const TableExprId& id) override;
605};
606
607// <summary>
608// Double comparison >= in table select expression tree
609// </summary>
610
611// <use visibility=local>
612
613// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
614// </reviewed>
615
616// <prerequisite>
617// # Classes you should understand before using this one.
618// <li> TableExprNode
619// </prerequisite>
620
621// <synopsis>
622// This class represents an >= comparison in a table select expression tree.
623// This is defined for all data types.
624// Only the Bool get function is defined, because the result of a
625// compare is always a Bool.
626// </synopsis>
627
635
636// <summary>
637// DComplex comparison >= in table select expression tree
638// </summary>
639
640// <use visibility=local>
641
642// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
643// </reviewed>
644
645// <prerequisite>
646// # Classes you should understand before using this one.
647// <li> TableExprNode
648// </prerequisite>
649
650// <synopsis>
651// This class represents an >= comparison in a table select expression tree.
652// This is defined for all data types.
653// Only the Bool get function is defined, because the result of a
654// compare is always a Bool.
655// </synopsis>
656
663
664// <summary>
665// String comparison >= in table select expression tree
666// </summary>
667
668// <use visibility=local>
669
670// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
671// </reviewed>
672
673// <prerequisite>
674// # Classes you should understand before using this one.
675// <li> TableExprNode
676// </prerequisite>
677
678// <synopsis>
679// This class represents an >= comparison in a table select expression tree.
680// This is defined for all data types.
681// Only the Bool get function is defined, because the result of a
682// compare is always a Bool.
683// </synopsis>
684
691
692// <summary>
693// Date comparison >= in table select expression tree
694// </summary>
695
696// <use visibility=local>
697
698// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
699// </reviewed>
700
701// <prerequisite>
702// # Classes you should understand before using this one.
703// <li> TableExprNode
704// </prerequisite>
705
706// <synopsis>
707// This class represents an >= comparison in a table select expression tree.
708// This is defined for all data types.
709// Only the Bool get function is defined, because the result of a
710// compare is always a Bool.
711// </synopsis>
712
719
720// <summary>
721// Int comparison IN in table select expression tree
722// </summary>
723
724// <use visibility=local>
725
726// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
727// </reviewed>
728
729// <prerequisite>
730// # Classes you should understand before using this one.
731// <li> TableExprNode
732// </prerequisite>
733
734// <synopsis>
735// This class represents an IN comparison in a table select expression tree.
736// This is defined for all data types.
737// Only the Bool get function is defined, because the result of a
738// compare is always a Bool.
739// The right hand side can be optimized if it contains a constant array which
740// can be replaced by an std::unordered_set<Int64> or a Block<Bool>.
741// </synopsis>
742
744 public:
745 // <src>doTracing</src> is not used.
748 void optimize() override;
749 static void doOptimize(TENShPtr& rnode);
750 Bool getBool(const TableExprId& id) override;
751
752 private:
753};
754
755// <summary>
756// Double comparison IN in table select expression tree
757// </summary>
758
759// <use visibility=local>
760
761// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
762// </reviewed>
763
764// <prerequisite>
765// # Classes you should understand before using this one.
766// <li> TableExprNode
767// </prerequisite>
768
769// <synopsis>
770// This class represents an IN comparison in a table select expression tree.
771// This is defined for all data types.
772// Only the Bool get function is defined, because the result of a
773// compare is always a Bool.
774// The right hand side can be optimized if it contains a constant set with
775// bounded intervals.
776// </synopsis>
777
779 public:
782 void optimize() override;
783 static void doOptimize(TENShPtr& rnode);
784 Bool getBool(const TableExprId& id) override;
785};
786
787// <summary>
788// DComplex comparison IN in table select expression tree
789// </summary>
790
791// <use visibility=local>
792
793// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
794// </reviewed>
795
796// <prerequisite>
797// # Classes you should understand before using this one.
798// <li> TableExprNode
799// </prerequisite>
800
801// <synopsis>
802// This class represents an IN comparison in a table select expression tree.
803// This is defined for all data types.
804// Only the Bool get function is defined, because the result of a
805// compare is always a Bool.
806// </synopsis>
807
814
815// <summary>
816// String comparison IN in table select expression tree
817// </summary>
818
819// <use visibility=local>
820
821// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
822// </reviewed>
823
824// <prerequisite>
825// # Classes you should understand before using this one.
826// <li> TableExprNode
827// </prerequisite>
828
829// <synopsis>
830// This class represents an IN comparison in a table select expression tree.
831// This is defined for all data types.
832// Only the Bool get function is defined, because the result of a
833// compare is always a Bool.
834// The right hand side can be optimized if it contains a constant array which
835// can be replaced by an std::unordered_set<String>
836// </synopsis>
837
839 public:
842 void optimize() override;
843 static void doOptimize(TENShPtr& rnode);
844 Bool getBool(const TableExprId& id) override;
845};
846
847// <summary>
848// Date comparison IN in table select expression tree
849// </summary>
850
851// <use visibility=local>
852
853// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
854// </reviewed>
855
856// <prerequisite>
857// # Classes you should understand before using this one.
858// <li> TableExprNode
859// </prerequisite>
860
861// <synopsis>
862// This class represents an IN comparison in a table select expression tree.
863// This is defined for all data types.
864// Only the Bool get function is defined, because the result of a
865// compare is always a Bool.
866// </synopsis>
867
869 public:
872 void optimize() override;
873 static void doOptimize(TENShPtr& rnode);
874 Bool getBool(const TableExprId& id) override;
875};
876
877// <summary>
878// Logical or in table select expression tree
879// </summary>
880
881// <use visibility=local>
882
883// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
884// </reviewed>
885
886// <prerequisite>
887// # Classes you should understand before using this one.
888// <li> TableExprNode
889// </prerequisite>
890
891// <synopsis>
892// This class represents a logical or in a table select expression tree.
893// This is defined for Bool only.
894// </synopsis>
895
897 public:
899 ~TableExprNodeOR() = default;
900 Bool getBool(const TableExprId& id) override;
902};
903
904// <summary>
905// Logical and in table select expression tree
906// </summary>
907
908// <use visibility=local>
909
910// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
911// </reviewed>
912
913// <prerequisite>
914// # Classes you should understand before using this one.
915// <li> TableExprNode
916// </prerequisite>
917
918// <synopsis>
919// This class represents a logical and in a table select expression tree.
920// This is defined for Bool only.
921// </synopsis>
922
924 public:
926 ~TableExprNodeAND() = default;
927 Bool getBool(const TableExprId& id) override;
929};
930
931// <summary>
932// Logical not in table select expression tree
933// </summary>
934
935// <use visibility=local>
936
937// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
938// </reviewed>
939
940// <prerequisite>
941// # Classes you should understand before using this one.
942// <li> TableExprNode
943// </prerequisite>
944
945// <synopsis>
946// This class represents a logical not in a table select expression tree.
947// This is defined for Bool only.
948// </synopsis>
949
951 public:
953 ~TableExprNodeNOT() = default;
954 Bool getBool(const TableExprId& id) override;
955};
956
957} // namespace casacore
958
959#endif
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 &)
TableExprNodeBinary(NodeDataType, ValueType, OperType, ExprType)
Constructor.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQBool(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQDComplex(const TableExprNodeRep &)
TableExprNodeEQDate(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.
TableExprNodeEQDouble(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQInt(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeEQRegex(const TableExprNodeRep &)
TableExprNodeEQString(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEDComplex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEDate(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.
TableExprNodeGEDouble(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEInt(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGEString(const TableExprNodeRep &)
TableExprNodeGTDComplex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGTDate(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.
TableExprNodeGTDouble(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeGTInt(const TableExprNodeRep &)
TableExprNodeGTString(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeINDComplex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
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)
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.
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.
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 getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEBool(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEDComplex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEDate(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEDouble(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEInt(const TableExprNodeRep &)
TableExprNodeNERegex(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNEString(const TableExprNodeRep &)
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
Bool getBool(const TableExprId &id) override
Get a scalar value for this node in the given row.
TableExprNodeNOT(const TableExprNodeRep &)
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.
For temporary backward namespace compatibility, use casa as alias for casacore.
Definition mainpage.dox:28
const Bool False
Definition aipstype.h:42
std::shared_ptr< TableExprNodeRep > TENShPtr
Definition ExprNodeRep.h:56
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40