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