1 /*
2 * Copyright 2006-2012 The FLWOR Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 // ******************************************
18 // * *
19 // * THIS IS A GENERATED FILE. DO NOT EDIT! *
20 // * SEE .xml FILE WITH SAME NAME *
21 // * *
22 // ******************************************
23
24 #include "stdafx.h"
25 #include "zorbatypes/rchandle.h"
26 #include "zorbatypes/zstring.h"
27 #include "runtime/visitors/planiter_visitor.h"
28 #include "runtime/sequences/sequences.h"
29 #include "system/globalenv.h"
30
31
32 #include "zorbautils/hashset_atomic_itemh.h"
33
34 namespace zorba {
35
36 // <FnConcatIterator>
SERIALIZABLE_CLASS_VERSIONS(FnConcatIterator)37 SERIALIZABLE_CLASS_VERSIONS(FnConcatIterator)
38
39 void FnConcatIterator::serialize(::zorba::serialization::Archiver& ar)
40 {
41 serialize_baseclass(ar,
42 (NaryBaseIterator<FnConcatIterator, FnConcatIteratorState>*)this);
43 }
44
45
accept(PlanIterVisitor & v) const46 void FnConcatIterator::accept(PlanIterVisitor& v) const
47 {
48 v.beginVisit(*this);
49
50 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
51 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
52 for ( ; lIter != lEnd; ++lIter ){
53 (*lIter)->accept(v);
54 }
55
56 v.endVisit(*this);
57 }
58
~FnConcatIterator()59 FnConcatIterator::~FnConcatIterator() {}
60
FnConcatIteratorState()61 FnConcatIteratorState::FnConcatIteratorState() {}
62
~FnConcatIteratorState()63 FnConcatIteratorState::~FnConcatIteratorState() {}
64
65 // </FnConcatIterator>
66
67
68 // <FnIndexOfIterator>
SERIALIZABLE_CLASS_VERSIONS(FnIndexOfIterator)69 SERIALIZABLE_CLASS_VERSIONS(FnIndexOfIterator)
70
71 void FnIndexOfIterator::serialize(::zorba::serialization::Archiver& ar)
72 {
73 serialize_baseclass(ar,
74 (NaryBaseIterator<FnIndexOfIterator, FnIndexOfIteratorState>*)this);
75 }
76
77
accept(PlanIterVisitor & v) const78 void FnIndexOfIterator::accept(PlanIterVisitor& v) const
79 {
80 v.beginVisit(*this);
81
82 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
83 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
84 for ( ; lIter != lEnd; ++lIter ){
85 (*lIter)->accept(v);
86 }
87
88 v.endVisit(*this);
89 }
90
~FnIndexOfIterator()91 FnIndexOfIterator::~FnIndexOfIterator() {}
92
FnIndexOfIteratorState()93 FnIndexOfIteratorState::FnIndexOfIteratorState() {}
94
~FnIndexOfIteratorState()95 FnIndexOfIteratorState::~FnIndexOfIteratorState() {}
96
97
init(PlanState & planState)98 void FnIndexOfIteratorState::init(PlanState& planState) {
99 PlanIteratorState::init(planState);
100 theCurrentPos = 0;
101 theSearchItem = NULL;
102 theCollator = 0;
103 }
104
reset(PlanState & planState)105 void FnIndexOfIteratorState::reset(PlanState& planState) {
106 PlanIteratorState::reset(planState);
107 theCurrentPos = 0;
108 theSearchItem = NULL;
109 theCollator = 0;
110 }
111 // </FnIndexOfIterator>
112
113
114 // <FnEmptyIterator>
SERIALIZABLE_CLASS_VERSIONS(FnEmptyIterator)115 SERIALIZABLE_CLASS_VERSIONS(FnEmptyIterator)
116
117 void FnEmptyIterator::serialize(::zorba::serialization::Archiver& ar)
118 {
119 serialize_baseclass(ar,
120 (NaryBaseIterator<FnEmptyIterator, PlanIteratorState>*)this);
121 }
122
123
accept(PlanIterVisitor & v) const124 void FnEmptyIterator::accept(PlanIterVisitor& v) const
125 {
126 v.beginVisit(*this);
127
128 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
129 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
130 for ( ; lIter != lEnd; ++lIter ){
131 (*lIter)->accept(v);
132 }
133
134 v.endVisit(*this);
135 }
136
~FnEmptyIterator()137 FnEmptyIterator::~FnEmptyIterator() {}
138
139 // </FnEmptyIterator>
140
141
142 // <FnExistsIterator>
SERIALIZABLE_CLASS_VERSIONS(FnExistsIterator)143 SERIALIZABLE_CLASS_VERSIONS(FnExistsIterator)
144
145 void FnExistsIterator::serialize(::zorba::serialization::Archiver& ar)
146 {
147 serialize_baseclass(ar,
148 (NaryBaseIterator<FnExistsIterator, PlanIteratorState>*)this);
149 }
150
151
accept(PlanIterVisitor & v) const152 void FnExistsIterator::accept(PlanIterVisitor& v) const
153 {
154 v.beginVisit(*this);
155
156 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
157 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
158 for ( ; lIter != lEnd; ++lIter ){
159 (*lIter)->accept(v);
160 }
161
162 v.endVisit(*this);
163 }
164
~FnExistsIterator()165 FnExistsIterator::~FnExistsIterator() {}
166
167 // </FnExistsIterator>
168
169
170 // <FnDistinctValuesIterator>
SERIALIZABLE_CLASS_VERSIONS(FnDistinctValuesIterator)171 SERIALIZABLE_CLASS_VERSIONS(FnDistinctValuesIterator)
172
173 void FnDistinctValuesIterator::serialize(::zorba::serialization::Archiver& ar)
174 {
175 serialize_baseclass(ar,
176 (NaryBaseIterator<FnDistinctValuesIterator, FnDistinctValuesIteratorState>*)this);
177 }
178
179
accept(PlanIterVisitor & v) const180 void FnDistinctValuesIterator::accept(PlanIterVisitor& v) const
181 {
182 v.beginVisit(*this);
183
184 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
185 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
186 for ( ; lIter != lEnd; ++lIter ){
187 (*lIter)->accept(v);
188 }
189
190 v.endVisit(*this);
191 }
192
~FnDistinctValuesIterator()193 FnDistinctValuesIterator::~FnDistinctValuesIterator() {}
194
FnDistinctValuesIteratorState()195 FnDistinctValuesIteratorState::FnDistinctValuesIteratorState() {}
196
~FnDistinctValuesIteratorState()197 FnDistinctValuesIteratorState::~FnDistinctValuesIteratorState() {}
198
199
init(PlanState & planState)200 void FnDistinctValuesIteratorState::init(PlanState& planState) {
201 PlanIteratorState::init(planState);
202 theHasNaN = false;
203 }
204 // </FnDistinctValuesIterator>
205
206
207 // <FnInsertBeforeIterator>
SERIALIZABLE_CLASS_VERSIONS(FnInsertBeforeIterator)208 SERIALIZABLE_CLASS_VERSIONS(FnInsertBeforeIterator)
209
210 void FnInsertBeforeIterator::serialize(::zorba::serialization::Archiver& ar)
211 {
212 serialize_baseclass(ar,
213 (NaryBaseIterator<FnInsertBeforeIterator, FnInsertBeforeIteratorState>*)this);
214 }
215
216
accept(PlanIterVisitor & v) const217 void FnInsertBeforeIterator::accept(PlanIterVisitor& v) const
218 {
219 v.beginVisit(*this);
220
221 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
222 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
223 for ( ; lIter != lEnd; ++lIter ){
224 (*lIter)->accept(v);
225 }
226
227 v.endVisit(*this);
228 }
229
~FnInsertBeforeIterator()230 FnInsertBeforeIterator::~FnInsertBeforeIterator() {}
231
FnInsertBeforeIteratorState()232 FnInsertBeforeIteratorState::FnInsertBeforeIteratorState() {}
233
~FnInsertBeforeIteratorState()234 FnInsertBeforeIteratorState::~FnInsertBeforeIteratorState() {}
235
236
init(PlanState & planState)237 void FnInsertBeforeIteratorState::init(PlanState& planState) {
238 PlanIteratorState::init(planState);
239 theCurrentPos = xs_integer::zero();
240 thePosition = xs_integer::zero();
241 theTargetItem = NULL;
242 }
243
reset(PlanState & planState)244 void FnInsertBeforeIteratorState::reset(PlanState& planState) {
245 PlanIteratorState::reset(planState);
246 theCurrentPos = xs_integer::zero();
247 thePosition = xs_integer::zero();
248 theTargetItem = NULL;
249 }
250 // </FnInsertBeforeIterator>
251
252
253 // <FnRemoveIterator>
SERIALIZABLE_CLASS_VERSIONS(FnRemoveIterator)254 SERIALIZABLE_CLASS_VERSIONS(FnRemoveIterator)
255
256 void FnRemoveIterator::serialize(::zorba::serialization::Archiver& ar)
257 {
258 serialize_baseclass(ar,
259 (NaryBaseIterator<FnRemoveIterator, FnRemoveIteratorState>*)this);
260 }
261
262
accept(PlanIterVisitor & v) const263 void FnRemoveIterator::accept(PlanIterVisitor& v) const
264 {
265 v.beginVisit(*this);
266
267 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
268 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
269 for ( ; lIter != lEnd; ++lIter ){
270 (*lIter)->accept(v);
271 }
272
273 v.endVisit(*this);
274 }
275
~FnRemoveIterator()276 FnRemoveIterator::~FnRemoveIterator() {}
277
FnRemoveIteratorState()278 FnRemoveIteratorState::FnRemoveIteratorState() {}
279
~FnRemoveIteratorState()280 FnRemoveIteratorState::~FnRemoveIteratorState() {}
281
282
init(PlanState & planState)283 void FnRemoveIteratorState::init(PlanState& planState) {
284 PlanIteratorState::init(planState);
285 theCurrentPos = xs_integer::zero();
286 thePosition = xs_integer::zero();
287 theCollator = 0;
288 }
289
reset(PlanState & planState)290 void FnRemoveIteratorState::reset(PlanState& planState) {
291 PlanIteratorState::reset(planState);
292 theCurrentPos = xs_integer::zero();
293 thePosition = xs_integer::zero();
294 theCollator = 0;
295 }
296 // </FnRemoveIterator>
297
298
299 // <FnReverseIterator>
SERIALIZABLE_CLASS_VERSIONS(FnReverseIterator)300 SERIALIZABLE_CLASS_VERSIONS(FnReverseIterator)
301
302 void FnReverseIterator::serialize(::zorba::serialization::Archiver& ar)
303 {
304 serialize_baseclass(ar,
305 (NaryBaseIterator<FnReverseIterator, FnReverseIteratorState>*)this);
306 }
307
308
accept(PlanIterVisitor & v) const309 void FnReverseIterator::accept(PlanIterVisitor& v) const
310 {
311 v.beginVisit(*this);
312
313 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
314 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
315 for ( ; lIter != lEnd; ++lIter ){
316 (*lIter)->accept(v);
317 }
318
319 v.endVisit(*this);
320 }
321
~FnReverseIterator()322 FnReverseIterator::~FnReverseIterator() {}
323
FnReverseIteratorState()324 FnReverseIteratorState::FnReverseIteratorState() {}
325
~FnReverseIteratorState()326 FnReverseIteratorState::~FnReverseIteratorState() {}
327
328 // </FnReverseIterator>
329
330
331 // <FnSubsequenceIterator>
SERIALIZABLE_CLASS_VERSIONS(FnSubsequenceIterator)332 SERIALIZABLE_CLASS_VERSIONS(FnSubsequenceIterator)
333
334 void FnSubsequenceIterator::serialize(::zorba::serialization::Archiver& ar)
335 {
336 serialize_baseclass(ar,
337 (NaryBaseIterator<FnSubsequenceIterator, FnSubsequenceIteratorState>*)this);
338 }
339
340
accept(PlanIterVisitor & v) const341 void FnSubsequenceIterator::accept(PlanIterVisitor& v) const
342 {
343 v.beginVisit(*this);
344
345 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
346 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
347 for ( ; lIter != lEnd; ++lIter ){
348 (*lIter)->accept(v);
349 }
350
351 v.endVisit(*this);
352 }
353
~FnSubsequenceIterator()354 FnSubsequenceIterator::~FnSubsequenceIterator() {}
355
FnSubsequenceIteratorState()356 FnSubsequenceIteratorState::FnSubsequenceIteratorState() {}
357
~FnSubsequenceIteratorState()358 FnSubsequenceIteratorState::~FnSubsequenceIteratorState() {}
359
360
init(PlanState & planState)361 void FnSubsequenceIteratorState::init(PlanState& planState) {
362 PlanIteratorState::init(planState);
363 theRemaining = 0;
364 theIsChildReset = false;
365 }
366
reset(PlanState & planState)367 void FnSubsequenceIteratorState::reset(PlanState& planState) {
368 PlanIteratorState::reset(planState);
369 theRemaining = 0;
370 theIsChildReset = false;
371 }
372 // </FnSubsequenceIterator>
373
374
375 // <SubsequenceIntIterator>
SERIALIZABLE_CLASS_VERSIONS(SubsequenceIntIterator)376 SERIALIZABLE_CLASS_VERSIONS(SubsequenceIntIterator)
377
378 void SubsequenceIntIterator::serialize(::zorba::serialization::Archiver& ar)
379 {
380 serialize_baseclass(ar,
381 (NaryBaseIterator<SubsequenceIntIterator, SubsequenceIntIteratorState>*)this);
382 }
383
384
accept(PlanIterVisitor & v) const385 void SubsequenceIntIterator::accept(PlanIterVisitor& v) const
386 {
387 v.beginVisit(*this);
388
389 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
390 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
391 for ( ; lIter != lEnd; ++lIter ){
392 (*lIter)->accept(v);
393 }
394
395 v.endVisit(*this);
396 }
397
~SubsequenceIntIterator()398 SubsequenceIntIterator::~SubsequenceIntIterator() {}
399
SubsequenceIntIteratorState()400 SubsequenceIntIteratorState::SubsequenceIntIteratorState() {}
401
~SubsequenceIntIteratorState()402 SubsequenceIntIteratorState::~SubsequenceIntIteratorState() {}
403
404
init(PlanState & planState)405 void SubsequenceIntIteratorState::init(PlanState& planState) {
406 PlanIteratorState::init(planState);
407 theRemaining = 0;
408 theIsChildReset = false;
409 }
410
reset(PlanState & planState)411 void SubsequenceIntIteratorState::reset(PlanState& planState) {
412 PlanIteratorState::reset(planState);
413 theRemaining = 0;
414 theIsChildReset = false;
415 }
416 // </SubsequenceIntIterator>
417
418
419 // <SequencePointAccessIterator>
SERIALIZABLE_CLASS_VERSIONS(SequencePointAccessIterator)420 SERIALIZABLE_CLASS_VERSIONS(SequencePointAccessIterator)
421
422 void SequencePointAccessIterator::serialize(::zorba::serialization::Archiver& ar)
423 {
424 serialize_baseclass(ar,
425 (NaryBaseIterator<SequencePointAccessIterator, SequencePointAccessIteratorState>*)this);
426 }
427
428
accept(PlanIterVisitor & v) const429 void SequencePointAccessIterator::accept(PlanIterVisitor& v) const
430 {
431 v.beginVisit(*this);
432
433 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
434 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
435 for ( ; lIter != lEnd; ++lIter ){
436 (*lIter)->accept(v);
437 }
438
439 v.endVisit(*this);
440 }
441
~SequencePointAccessIterator()442 SequencePointAccessIterator::~SequencePointAccessIterator() {}
443
SequencePointAccessIteratorState()444 SequencePointAccessIteratorState::SequencePointAccessIteratorState() {}
445
~SequencePointAccessIteratorState()446 SequencePointAccessIteratorState::~SequencePointAccessIteratorState() {}
447
448
init(PlanState & planState)449 void SequencePointAccessIteratorState::init(PlanState& planState) {
450 PlanIteratorState::init(planState);
451 theIsChildReset = false;
452 }
453
reset(PlanState & planState)454 void SequencePointAccessIteratorState::reset(PlanState& planState) {
455 PlanIteratorState::reset(planState);
456 theIsChildReset = false;
457 }
458 // </SequencePointAccessIterator>
459
460
461 // <FnZeroOrOneIterator>
SERIALIZABLE_CLASS_VERSIONS(FnZeroOrOneIterator)462 SERIALIZABLE_CLASS_VERSIONS(FnZeroOrOneIterator)
463
464 void FnZeroOrOneIterator::serialize(::zorba::serialization::Archiver& ar)
465 {
466 serialize_baseclass(ar,
467 (NaryBaseIterator<FnZeroOrOneIterator, PlanIteratorState>*)this);
468
469 ar & theDoDistinct;
470 }
471
472
accept(PlanIterVisitor & v) const473 void FnZeroOrOneIterator::accept(PlanIterVisitor& v) const
474 {
475 v.beginVisit(*this);
476
477 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
478 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
479 for ( ; lIter != lEnd; ++lIter ){
480 (*lIter)->accept(v);
481 }
482
483 v.endVisit(*this);
484 }
485
~FnZeroOrOneIterator()486 FnZeroOrOneIterator::~FnZeroOrOneIterator() {}
487
488 // </FnZeroOrOneIterator>
489
490
491 // <FnOneOrMoreIterator>
SERIALIZABLE_CLASS_VERSIONS(FnOneOrMoreIterator)492 SERIALIZABLE_CLASS_VERSIONS(FnOneOrMoreIterator)
493
494 void FnOneOrMoreIterator::serialize(::zorba::serialization::Archiver& ar)
495 {
496 serialize_baseclass(ar,
497 (NaryBaseIterator<FnOneOrMoreIterator, PlanIteratorState>*)this);
498 }
499
500
accept(PlanIterVisitor & v) const501 void FnOneOrMoreIterator::accept(PlanIterVisitor& v) const
502 {
503 v.beginVisit(*this);
504
505 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
506 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
507 for ( ; lIter != lEnd; ++lIter ){
508 (*lIter)->accept(v);
509 }
510
511 v.endVisit(*this);
512 }
513
~FnOneOrMoreIterator()514 FnOneOrMoreIterator::~FnOneOrMoreIterator() {}
515
516 // </FnOneOrMoreIterator>
517
518
519 // <FnExactlyOneIterator>
SERIALIZABLE_CLASS_VERSIONS(FnExactlyOneIterator)520 SERIALIZABLE_CLASS_VERSIONS(FnExactlyOneIterator)
521
522 void FnExactlyOneIterator::serialize(::zorba::serialization::Archiver& ar)
523 {
524 serialize_baseclass(ar,
525 (NaryBaseIterator<FnExactlyOneIterator, PlanIteratorState>*)this);
526
527 ar & theRaiseError;
528 ar & theDoDistinct;
529 }
530
531
accept(PlanIterVisitor & v) const532 void FnExactlyOneIterator::accept(PlanIterVisitor& v) const
533 {
534 v.beginVisit(*this);
535
536 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
537 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
538 for ( ; lIter != lEnd; ++lIter ){
539 (*lIter)->accept(v);
540 }
541
542 v.endVisit(*this);
543 }
544
~FnExactlyOneIterator()545 FnExactlyOneIterator::~FnExactlyOneIterator() {}
546
547 // </FnExactlyOneIterator>
548
549
550 // <FnDeepEqualIterator>
SERIALIZABLE_CLASS_VERSIONS(FnDeepEqualIterator)551 SERIALIZABLE_CLASS_VERSIONS(FnDeepEqualIterator)
552
553 void FnDeepEqualIterator::serialize(::zorba::serialization::Archiver& ar)
554 {
555 serialize_baseclass(ar,
556 (NaryBaseIterator<FnDeepEqualIterator, PlanIteratorState>*)this);
557 }
558
559
accept(PlanIterVisitor & v) const560 void FnDeepEqualIterator::accept(PlanIterVisitor& v) const
561 {
562 v.beginVisit(*this);
563
564 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
565 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
566 for ( ; lIter != lEnd; ++lIter ){
567 (*lIter)->accept(v);
568 }
569
570 v.endVisit(*this);
571 }
572
~FnDeepEqualIterator()573 FnDeepEqualIterator::~FnDeepEqualIterator() {}
574
575 // </FnDeepEqualIterator>
576
577
578 // <HashSemiJoinIterator>
SERIALIZABLE_CLASS_VERSIONS(HashSemiJoinIterator)579 SERIALIZABLE_CLASS_VERSIONS(HashSemiJoinIterator)
580
581 void HashSemiJoinIterator::serialize(::zorba::serialization::Archiver& ar)
582 {
583 serialize_baseclass(ar,
584 (NaryBaseIterator<HashSemiJoinIterator, HashSemiJoinIteratorState>*)this);
585
586 ar & theAntijoin;
587 }
588
589
accept(PlanIterVisitor & v) const590 void HashSemiJoinIterator::accept(PlanIterVisitor& v) const
591 {
592 v.beginVisit(*this);
593
594 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
595 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
596 for ( ; lIter != lEnd; ++lIter ){
597 (*lIter)->accept(v);
598 }
599
600 v.endVisit(*this);
601 }
602
~HashSemiJoinIterator()603 HashSemiJoinIterator::~HashSemiJoinIterator() {}
604
605 // </HashSemiJoinIterator>
606
607
608 // <SortSemiJoinIterator>
SERIALIZABLE_CLASS_VERSIONS(SortSemiJoinIterator)609 SERIALIZABLE_CLASS_VERSIONS(SortSemiJoinIterator)
610
611 void SortSemiJoinIterator::serialize(::zorba::serialization::Archiver& ar)
612 {
613 serialize_baseclass(ar,
614 (NaryBaseIterator<SortSemiJoinIterator, PlanIteratorState>*)this);
615 }
616
617
accept(PlanIterVisitor & v) const618 void SortSemiJoinIterator::accept(PlanIterVisitor& v) const
619 {
620 v.beginVisit(*this);
621
622 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
623 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
624 for ( ; lIter != lEnd; ++lIter ){
625 (*lIter)->accept(v);
626 }
627
628 v.endVisit(*this);
629 }
630
~SortSemiJoinIterator()631 SortSemiJoinIterator::~SortSemiJoinIterator() {}
632
633 // </SortSemiJoinIterator>
634
635
636 // <FnCountIterator>
SERIALIZABLE_CLASS_VERSIONS(FnCountIterator)637 SERIALIZABLE_CLASS_VERSIONS(FnCountIterator)
638
639 void FnCountIterator::serialize(::zorba::serialization::Archiver& ar)
640 {
641 serialize_baseclass(ar,
642 (NaryBaseIterator<FnCountIterator, PlanIteratorState>*)this);
643 }
644
645
accept(PlanIterVisitor & v) const646 void FnCountIterator::accept(PlanIterVisitor& v) const
647 {
648 v.beginVisit(*this);
649
650 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
651 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
652 for ( ; lIter != lEnd; ++lIter ){
653 (*lIter)->accept(v);
654 }
655
656 v.endVisit(*this);
657 }
658
~FnCountIterator()659 FnCountIterator::~FnCountIterator() {}
660
661 // </FnCountIterator>
662
663
664 // <FnAvgIterator>
SERIALIZABLE_CLASS_VERSIONS(FnAvgIterator)665 SERIALIZABLE_CLASS_VERSIONS(FnAvgIterator)
666
667 void FnAvgIterator::serialize(::zorba::serialization::Archiver& ar)
668 {
669 serialize_baseclass(ar,
670 (NaryBaseIterator<FnAvgIterator, PlanIteratorState>*)this);
671 }
672
673
accept(PlanIterVisitor & v) const674 void FnAvgIterator::accept(PlanIterVisitor& v) const
675 {
676 v.beginVisit(*this);
677
678 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
679 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
680 for ( ; lIter != lEnd; ++lIter ){
681 (*lIter)->accept(v);
682 }
683
684 v.endVisit(*this);
685 }
686
~FnAvgIterator()687 FnAvgIterator::~FnAvgIterator() {}
688
689 // </FnAvgIterator>
690
691
692 // <FnSumIterator>
SERIALIZABLE_CLASS_VERSIONS(FnSumIterator)693 SERIALIZABLE_CLASS_VERSIONS(FnSumIterator)
694
695 void FnSumIterator::serialize(::zorba::serialization::Archiver& ar)
696 {
697 serialize_baseclass(ar,
698 (NaryBaseIterator<FnSumIterator, PlanIteratorState>*)this);
699 }
700
701
accept(PlanIterVisitor & v) const702 void FnSumIterator::accept(PlanIterVisitor& v) const
703 {
704 v.beginVisit(*this);
705
706 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
707 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
708 for ( ; lIter != lEnd; ++lIter ){
709 (*lIter)->accept(v);
710 }
711
712 v.endVisit(*this);
713 }
714
~FnSumIterator()715 FnSumIterator::~FnSumIterator() {}
716
717 // </FnSumIterator>
718
719
720 // <FnSumDoubleIterator>
SERIALIZABLE_CLASS_VERSIONS(FnSumDoubleIterator)721 SERIALIZABLE_CLASS_VERSIONS(FnSumDoubleIterator)
722
723 void FnSumDoubleIterator::serialize(::zorba::serialization::Archiver& ar)
724 {
725 serialize_baseclass(ar,
726 (NaryBaseIterator<FnSumDoubleIterator, PlanIteratorState>*)this);
727 }
728
729
accept(PlanIterVisitor & v) const730 void FnSumDoubleIterator::accept(PlanIterVisitor& v) const
731 {
732 v.beginVisit(*this);
733
734 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
735 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
736 for ( ; lIter != lEnd; ++lIter ){
737 (*lIter)->accept(v);
738 }
739
740 v.endVisit(*this);
741 }
742
~FnSumDoubleIterator()743 FnSumDoubleIterator::~FnSumDoubleIterator() {}
744
745 // </FnSumDoubleIterator>
746
747
748 // <FnSumFloatIterator>
SERIALIZABLE_CLASS_VERSIONS(FnSumFloatIterator)749 SERIALIZABLE_CLASS_VERSIONS(FnSumFloatIterator)
750
751 void FnSumFloatIterator::serialize(::zorba::serialization::Archiver& ar)
752 {
753 serialize_baseclass(ar,
754 (NaryBaseIterator<FnSumFloatIterator, PlanIteratorState>*)this);
755 }
756
757
accept(PlanIterVisitor & v) const758 void FnSumFloatIterator::accept(PlanIterVisitor& v) const
759 {
760 v.beginVisit(*this);
761
762 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
763 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
764 for ( ; lIter != lEnd; ++lIter ){
765 (*lIter)->accept(v);
766 }
767
768 v.endVisit(*this);
769 }
770
~FnSumFloatIterator()771 FnSumFloatIterator::~FnSumFloatIterator() {}
772
773 // </FnSumFloatIterator>
774
775
776 // <FnSumDecimalIterator>
SERIALIZABLE_CLASS_VERSIONS(FnSumDecimalIterator)777 SERIALIZABLE_CLASS_VERSIONS(FnSumDecimalIterator)
778
779 void FnSumDecimalIterator::serialize(::zorba::serialization::Archiver& ar)
780 {
781 serialize_baseclass(ar,
782 (NaryBaseIterator<FnSumDecimalIterator, PlanIteratorState>*)this);
783 }
784
785
accept(PlanIterVisitor & v) const786 void FnSumDecimalIterator::accept(PlanIterVisitor& v) const
787 {
788 v.beginVisit(*this);
789
790 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
791 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
792 for ( ; lIter != lEnd; ++lIter ){
793 (*lIter)->accept(v);
794 }
795
796 v.endVisit(*this);
797 }
798
~FnSumDecimalIterator()799 FnSumDecimalIterator::~FnSumDecimalIterator() {}
800
801 // </FnSumDecimalIterator>
802
803
804 // <FnSumIntegerIterator>
SERIALIZABLE_CLASS_VERSIONS(FnSumIntegerIterator)805 SERIALIZABLE_CLASS_VERSIONS(FnSumIntegerIterator)
806
807 void FnSumIntegerIterator::serialize(::zorba::serialization::Archiver& ar)
808 {
809 serialize_baseclass(ar,
810 (NaryBaseIterator<FnSumIntegerIterator, PlanIteratorState>*)this);
811 }
812
813
accept(PlanIterVisitor & v) const814 void FnSumIntegerIterator::accept(PlanIterVisitor& v) const
815 {
816 v.beginVisit(*this);
817
818 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
819 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
820 for ( ; lIter != lEnd; ++lIter ){
821 (*lIter)->accept(v);
822 }
823
824 v.endVisit(*this);
825 }
826
~FnSumIntegerIterator()827 FnSumIntegerIterator::~FnSumIntegerIterator() {}
828
829 // </FnSumIntegerIterator>
830
831
832 // <OpToIterator>
SERIALIZABLE_CLASS_VERSIONS(OpToIterator)833 SERIALIZABLE_CLASS_VERSIONS(OpToIterator)
834
835 void OpToIterator::serialize(::zorba::serialization::Archiver& ar)
836 {
837 serialize_baseclass(ar,
838 (NaryBaseIterator<OpToIterator, OpToIteratorState>*)this);
839 }
840
841
accept(PlanIterVisitor & v) const842 void OpToIterator::accept(PlanIterVisitor& v) const
843 {
844 v.beginVisit(*this);
845
846 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
847 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
848 for ( ; lIter != lEnd; ++lIter ){
849 (*lIter)->accept(v);
850 }
851
852 v.endVisit(*this);
853 }
854
~OpToIterator()855 OpToIterator::~OpToIterator() {}
856
OpToIteratorState()857 OpToIteratorState::OpToIteratorState() {}
858
~OpToIteratorState()859 OpToIteratorState::~OpToIteratorState() {}
860
861
init(PlanState & planState)862 void OpToIteratorState::init(PlanState& planState) {
863 PlanIteratorState::init(planState);
864 theCurInt = xs_integer::zero();
865 theFirstVal = xs_integer::zero();
866 theLastVal = xs_integer::zero();
867 }
868
reset(PlanState & planState)869 void OpToIteratorState::reset(PlanState& planState) {
870 PlanIteratorState::reset(planState);
871 theCurInt = xs_integer::zero();
872 theFirstVal = xs_integer::zero();
873 theLastVal = xs_integer::zero();
874 }
875 // </OpToIterator>
876
877
878 // <FnIdIterator>
SERIALIZABLE_CLASS_VERSIONS(FnIdIterator)879 SERIALIZABLE_CLASS_VERSIONS(FnIdIterator)
880
881 void FnIdIterator::serialize(::zorba::serialization::Archiver& ar)
882 {
883 serialize_baseclass(ar,
884 (NaryBaseIterator<FnIdIterator, FnIdIteratorState>*)this);
885 }
886
887
accept(PlanIterVisitor & v) const888 void FnIdIterator::accept(PlanIterVisitor& v) const
889 {
890 v.beginVisit(*this);
891
892 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
893 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
894 for ( ; lIter != lEnd; ++lIter ){
895 (*lIter)->accept(v);
896 }
897
898 v.endVisit(*this);
899 }
900
~FnIdIterator()901 FnIdIterator::~FnIdIterator() {}
902
FnIdIteratorState()903 FnIdIteratorState::FnIdIteratorState() {}
904
~FnIdIteratorState()905 FnIdIteratorState::~FnIdIteratorState() {}
906
907 // </FnIdIterator>
908
909
910 // <FnElementWithIdIterator>
SERIALIZABLE_CLASS_VERSIONS(FnElementWithIdIterator)911 SERIALIZABLE_CLASS_VERSIONS(FnElementWithIdIterator)
912
913 void FnElementWithIdIterator::serialize(::zorba::serialization::Archiver& ar)
914 {
915 serialize_baseclass(ar,
916 (NaryBaseIterator<FnElementWithIdIterator, FnElementWithIdIteratorState>*)this);
917 }
918
919
accept(PlanIterVisitor & v) const920 void FnElementWithIdIterator::accept(PlanIterVisitor& v) const
921 {
922 v.beginVisit(*this);
923
924 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
925 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
926 for ( ; lIter != lEnd; ++lIter ){
927 (*lIter)->accept(v);
928 }
929
930 v.endVisit(*this);
931 }
932
~FnElementWithIdIterator()933 FnElementWithIdIterator::~FnElementWithIdIterator() {}
934
FnElementWithIdIteratorState()935 FnElementWithIdIteratorState::FnElementWithIdIteratorState() {}
936
~FnElementWithIdIteratorState()937 FnElementWithIdIteratorState::~FnElementWithIdIteratorState() {}
938
939 // </FnElementWithIdIterator>
940
941
942 // <FnIdRefIterator>
SERIALIZABLE_CLASS_VERSIONS(FnIdRefIterator)943 SERIALIZABLE_CLASS_VERSIONS(FnIdRefIterator)
944
945 void FnIdRefIterator::serialize(::zorba::serialization::Archiver& ar)
946 {
947 serialize_baseclass(ar,
948 (NaryBaseIterator<FnIdRefIterator, FnIdRefIteratorState>*)this);
949 }
950
951
accept(PlanIterVisitor & v) const952 void FnIdRefIterator::accept(PlanIterVisitor& v) const
953 {
954 v.beginVisit(*this);
955
956 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
957 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
958 for ( ; lIter != lEnd; ++lIter ){
959 (*lIter)->accept(v);
960 }
961
962 v.endVisit(*this);
963 }
964
~FnIdRefIterator()965 FnIdRefIterator::~FnIdRefIterator() {}
966
FnIdRefIteratorState()967 FnIdRefIteratorState::FnIdRefIteratorState() {}
968
~FnIdRefIteratorState()969 FnIdRefIteratorState::~FnIdRefIteratorState() {}
970
971 // </FnIdRefIterator>
972
973
974 // <FnDocIterator>
SERIALIZABLE_CLASS_VERSIONS(FnDocIterator)975 SERIALIZABLE_CLASS_VERSIONS(FnDocIterator)
976
977 void FnDocIterator::serialize(::zorba::serialization::Archiver& ar)
978 {
979 serialize_baseclass(ar,
980 (NaryBaseIterator<FnDocIterator, PlanIteratorState>*)this);
981 }
982
983
accept(PlanIterVisitor & v) const984 void FnDocIterator::accept(PlanIterVisitor& v) const
985 {
986 v.beginVisit(*this);
987
988 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
989 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
990 for ( ; lIter != lEnd; ++lIter ){
991 (*lIter)->accept(v);
992 }
993
994 v.endVisit(*this);
995 }
996
~FnDocIterator()997 FnDocIterator::~FnDocIterator() {}
998
999 // </FnDocIterator>
1000
1001
1002 // <FnDocAvailableIterator>
SERIALIZABLE_CLASS_VERSIONS(FnDocAvailableIterator)1003 SERIALIZABLE_CLASS_VERSIONS(FnDocAvailableIterator)
1004
1005 void FnDocAvailableIterator::serialize(::zorba::serialization::Archiver& ar)
1006 {
1007 serialize_baseclass(ar,
1008 (NaryBaseIterator<FnDocAvailableIterator, PlanIteratorState>*)this);
1009 }
1010
1011
accept(PlanIterVisitor & v) const1012 void FnDocAvailableIterator::accept(PlanIterVisitor& v) const
1013 {
1014 v.beginVisit(*this);
1015
1016 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
1017 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
1018 for ( ; lIter != lEnd; ++lIter ){
1019 (*lIter)->accept(v);
1020 }
1021
1022 v.endVisit(*this);
1023 }
1024
~FnDocAvailableIterator()1025 FnDocAvailableIterator::~FnDocAvailableIterator() {}
1026
1027 // </FnDocAvailableIterator>
1028
1029
1030 // <FnAvailableEnvironmentVariablesIterator>
SERIALIZABLE_CLASS_VERSIONS(FnAvailableEnvironmentVariablesIterator)1031 SERIALIZABLE_CLASS_VERSIONS(FnAvailableEnvironmentVariablesIterator)
1032
1033 void FnAvailableEnvironmentVariablesIterator::serialize(::zorba::serialization::Archiver& ar)
1034 {
1035 serialize_baseclass(ar,
1036 (NaryBaseIterator<FnAvailableEnvironmentVariablesIterator, FnAvailableEnvironmentVariablesIteratorState>*)this);
1037 }
1038
1039
accept(PlanIterVisitor & v) const1040 void FnAvailableEnvironmentVariablesIterator::accept(PlanIterVisitor& v) const
1041 {
1042 v.beginVisit(*this);
1043
1044 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
1045 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
1046 for ( ; lIter != lEnd; ++lIter ){
1047 (*lIter)->accept(v);
1048 }
1049
1050 v.endVisit(*this);
1051 }
1052
~FnAvailableEnvironmentVariablesIterator()1053 FnAvailableEnvironmentVariablesIterator::~FnAvailableEnvironmentVariablesIterator() {}
1054
FnAvailableEnvironmentVariablesIteratorState()1055 FnAvailableEnvironmentVariablesIteratorState::FnAvailableEnvironmentVariablesIteratorState() {}
1056
~FnAvailableEnvironmentVariablesIteratorState()1057 FnAvailableEnvironmentVariablesIteratorState::~FnAvailableEnvironmentVariablesIteratorState() {}
1058
1059 // </FnAvailableEnvironmentVariablesIterator>
1060
1061
1062 // <FnEnvironmentVariableIterator>
SERIALIZABLE_CLASS_VERSIONS(FnEnvironmentVariableIterator)1063 SERIALIZABLE_CLASS_VERSIONS(FnEnvironmentVariableIterator)
1064
1065 void FnEnvironmentVariableIterator::serialize(::zorba::serialization::Archiver& ar)
1066 {
1067 serialize_baseclass(ar,
1068 (NaryBaseIterator<FnEnvironmentVariableIterator, PlanIteratorState>*)this);
1069 }
1070
1071
accept(PlanIterVisitor & v) const1072 void FnEnvironmentVariableIterator::accept(PlanIterVisitor& v) const
1073 {
1074 v.beginVisit(*this);
1075
1076 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
1077 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
1078 for ( ; lIter != lEnd; ++lIter ){
1079 (*lIter)->accept(v);
1080 }
1081
1082 v.endVisit(*this);
1083 }
1084
~FnEnvironmentVariableIterator()1085 FnEnvironmentVariableIterator::~FnEnvironmentVariableIterator() {}
1086
1087 // </FnEnvironmentVariableIterator>
1088
1089
1090 // <FnUnparsedTextIterator>
SERIALIZABLE_CLASS_VERSIONS(FnUnparsedTextIterator)1091 SERIALIZABLE_CLASS_VERSIONS(FnUnparsedTextIterator)
1092
1093 void FnUnparsedTextIterator::serialize(::zorba::serialization::Archiver& ar)
1094 {
1095 serialize_baseclass(ar,
1096 (NaryBaseIterator<FnUnparsedTextIterator, PlanIteratorState>*)this);
1097 }
1098
1099
accept(PlanIterVisitor & v) const1100 void FnUnparsedTextIterator::accept(PlanIterVisitor& v) const
1101 {
1102 v.beginVisit(*this);
1103
1104 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
1105 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
1106 for ( ; lIter != lEnd; ++lIter ){
1107 (*lIter)->accept(v);
1108 }
1109
1110 v.endVisit(*this);
1111 }
1112
~FnUnparsedTextIterator()1113 FnUnparsedTextIterator::~FnUnparsedTextIterator() {}
1114
1115 // </FnUnparsedTextIterator>
1116
1117
1118 // <FnUnparsedTextAvailableIterator>
SERIALIZABLE_CLASS_VERSIONS(FnUnparsedTextAvailableIterator)1119 SERIALIZABLE_CLASS_VERSIONS(FnUnparsedTextAvailableIterator)
1120
1121 void FnUnparsedTextAvailableIterator::serialize(::zorba::serialization::Archiver& ar)
1122 {
1123 serialize_baseclass(ar,
1124 (NaryBaseIterator<FnUnparsedTextAvailableIterator, PlanIteratorState>*)this);
1125 }
1126
1127
accept(PlanIterVisitor & v) const1128 void FnUnparsedTextAvailableIterator::accept(PlanIterVisitor& v) const
1129 {
1130 v.beginVisit(*this);
1131
1132 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
1133 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
1134 for ( ; lIter != lEnd; ++lIter ){
1135 (*lIter)->accept(v);
1136 }
1137
1138 v.endVisit(*this);
1139 }
1140
~FnUnparsedTextAvailableIterator()1141 FnUnparsedTextAvailableIterator::~FnUnparsedTextAvailableIterator() {}
1142
1143 // </FnUnparsedTextAvailableIterator>
1144
1145
1146 // <FnUnparsedTextLinesIterator>
SERIALIZABLE_CLASS_VERSIONS(FnUnparsedTextLinesIterator)1147 SERIALIZABLE_CLASS_VERSIONS(FnUnparsedTextLinesIterator)
1148
1149 void FnUnparsedTextLinesIterator::serialize(::zorba::serialization::Archiver& ar)
1150 {
1151 serialize_baseclass(ar,
1152 (NaryBaseIterator<FnUnparsedTextLinesIterator, FnUnparsedTextLinesIteratorState>*)this);
1153 }
1154
1155
accept(PlanIterVisitor & v) const1156 void FnUnparsedTextLinesIterator::accept(PlanIterVisitor& v) const
1157 {
1158 v.beginVisit(*this);
1159
1160 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
1161 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
1162 for ( ; lIter != lEnd; ++lIter ){
1163 (*lIter)->accept(v);
1164 }
1165
1166 v.endVisit(*this);
1167 }
1168
~FnUnparsedTextLinesIterator()1169 FnUnparsedTextLinesIterator::~FnUnparsedTextLinesIterator() {}
1170
FnUnparsedTextLinesIteratorState()1171 FnUnparsedTextLinesIteratorState::FnUnparsedTextLinesIteratorState() {}
1172
1173 // </FnUnparsedTextLinesIterator>
1174
1175
1176
1177 }
1178
1179
1180