]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/proto/doc/reference/operators.xml
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / proto / doc / reference / operators.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Copyright 2012 Eric Niebler
4
5 Distributed under the Boost
6 Software License, Version 1.0. (See accompanying
7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 -->
9 <header name="boost/proto/operators.hpp">
10 <para>Contains all the overloaded operators that make it possible to build Proto expression trees. </para>
11 <namespace name="boost">
12 <namespace name="proto">
13 <struct name="is_extension">
14 <template>
15 <template-type-parameter name="T"/>
16 </template>
17 <inherit><type><classname>is_expr</classname>&lt; T &gt;</type></inherit>
18 <purpose>Boolean metafunction that can be used to enable the operator overloads in the
19 <computeroutput>exops</computeroutput> namespace for the specified non-Proto terminal type.</purpose>
20 </struct>
21 <function name="operator+">
22 <type><emphasis>unspecified</emphasis></type>
23 <template>
24 <template-type-parameter name="Arg"/>
25 </template>
26 <parameter name="arg">
27 <paramtype>Arg &amp;</paramtype>
28 </parameter>
29 </function>
30 <function name="operator+">
31 <type><emphasis>unspecified</emphasis></type>
32 <template>
33 <template-type-parameter name="Arg"/>
34 </template>
35 <parameter name="arg">
36 <paramtype>Arg const &amp;</paramtype>
37 </parameter>
38 </function>
39 <function name="operator-">
40 <type><emphasis>unspecified</emphasis></type>
41 <template>
42 <template-type-parameter name="Arg"/>
43 </template>
44 <parameter name="arg">
45 <paramtype>Arg &amp;</paramtype>
46 </parameter>
47 </function>
48 <function name="operator-">
49 <type><emphasis>unspecified</emphasis></type>
50 <template>
51 <template-type-parameter name="Arg"/>
52 </template>
53 <parameter name="arg">
54 <paramtype>Arg const &amp;</paramtype>
55 </parameter>
56 </function>
57 <function name="operator*">
58 <type><emphasis>unspecified</emphasis></type>
59 <template>
60 <template-type-parameter name="Arg"/>
61 </template>
62 <parameter name="arg">
63 <paramtype>Arg &amp;</paramtype>
64 </parameter>
65 </function>
66 <function name="operator*">
67 <type><emphasis>unspecified</emphasis></type>
68 <template>
69 <template-type-parameter name="Arg"/>
70 </template>
71 <parameter name="arg">
72 <paramtype>Arg const &amp;</paramtype>
73 </parameter>
74 </function>
75 <function name="operator~">
76 <type><emphasis>unspecified</emphasis></type>
77 <template>
78 <template-type-parameter name="Arg"/>
79 </template>
80 <parameter name="arg">
81 <paramtype>Arg &amp;</paramtype>
82 </parameter>
83 </function>
84 <function name="operator~">
85 <type><emphasis>unspecified</emphasis></type>
86 <template>
87 <template-type-parameter name="Arg"/>
88 </template>
89 <parameter name="arg">
90 <paramtype>Arg const &amp;</paramtype>
91 </parameter>
92 </function>
93 <function name="operator&amp;">
94 <type><emphasis>unspecified</emphasis></type>
95 <template>
96 <template-type-parameter name="Arg"/>
97 </template>
98 <parameter name="arg">
99 <paramtype>Arg &amp;</paramtype>
100 </parameter>
101 </function>
102 <function name="operator&amp;">
103 <type><emphasis>unspecified</emphasis></type>
104 <template>
105 <template-type-parameter name="Arg"/>
106 </template>
107 <parameter name="arg">
108 <paramtype>Arg const &amp;</paramtype>
109 </parameter>
110 </function>
111 <function name="operator!">
112 <type><emphasis>unspecified</emphasis></type>
113 <template>
114 <template-type-parameter name="Arg"/>
115 </template>
116 <parameter name="arg">
117 <paramtype>Arg &amp;</paramtype>
118 </parameter>
119 </function>
120 <function name="operator!">
121 <type><emphasis>unspecified</emphasis></type>
122 <template>
123 <template-type-parameter name="Arg"/>
124 </template>
125 <parameter name="arg">
126 <paramtype>Arg const &amp;</paramtype>
127 </parameter>
128 </function>
129 <function name="operator++">
130 <type><emphasis>unspecified</emphasis></type>
131 <template>
132 <template-type-parameter name="Arg"/>
133 </template>
134 <parameter name="arg">
135 <paramtype>Arg &amp;</paramtype>
136 </parameter>
137 </function>
138 <function name="operator++">
139 <type><emphasis>unspecified</emphasis></type>
140 <template>
141 <template-type-parameter name="Arg"/>
142 </template>
143 <parameter name="arg">
144 <paramtype>Arg const &amp;</paramtype>
145 </parameter>
146 </function>
147 <function name="operator--">
148 <type><emphasis>unspecified</emphasis></type>
149 <template>
150 <template-type-parameter name="Arg"/>
151 </template>
152 <parameter name="arg">
153 <paramtype>Arg &amp;</paramtype>
154 </parameter>
155 </function>
156 <function name="operator--">
157 <type><emphasis>unspecified</emphasis></type>
158 <template>
159 <template-type-parameter name="Arg"/>
160 </template>
161 <parameter name="arg">
162 <paramtype>Arg const &amp;</paramtype>
163 </parameter>
164 </function>
165 <function name="operator++">
166 <type><emphasis>unspecified</emphasis></type>
167 <template>
168 <template-type-parameter name="Arg"/>
169 </template>
170 <parameter name="arg">
171 <paramtype>Arg &amp;</paramtype>
172 </parameter>
173 <parameter name="">
174 <paramtype>int</paramtype>
175 </parameter>
176 </function>
177 <function name="operator++">
178 <type><emphasis>unspecified</emphasis></type>
179 <template>
180 <template-type-parameter name="Arg"/>
181 </template>
182 <parameter name="arg">
183 <paramtype>Arg const &amp;</paramtype>
184 </parameter>
185 <parameter name="">
186 <paramtype>int</paramtype>
187 </parameter>
188 </function>
189 <function name="operator--">
190 <type><emphasis>unspecified</emphasis></type>
191 <template>
192 <template-type-parameter name="Arg"/>
193 </template>
194 <parameter name="arg">
195 <paramtype>Arg &amp;</paramtype>
196 </parameter>
197 <parameter name="">
198 <paramtype>int</paramtype>
199 </parameter>
200 </function>
201 <function name="operator--">
202 <type><emphasis>unspecified</emphasis></type>
203 <template>
204 <template-type-parameter name="Arg"/>
205 </template>
206 <parameter name="arg">
207 <paramtype>Arg const &amp;</paramtype>
208 </parameter>
209 <parameter name="">
210 <paramtype>int</paramtype>
211 </parameter>
212 </function>
213 <function name="operator&lt;&lt;">
214 <type><emphasis>unspecified</emphasis></type>
215 <template>
216 <template-type-parameter name="Left"/>
217 <template-type-parameter name="Right"/>
218 </template>
219 <parameter name="left">
220 <paramtype>Left &amp;</paramtype>
221 </parameter>
222 <parameter name="right">
223 <paramtype>Right &amp;</paramtype>
224 </parameter>
225 </function>
226 <function name="operator&lt;&lt;">
227 <type><emphasis>unspecified</emphasis></type>
228 <template>
229 <template-type-parameter name="Left"/>
230 <template-type-parameter name="Right"/>
231 </template>
232 <parameter name="left">
233 <paramtype>Left &amp;</paramtype>
234 </parameter>
235 <parameter name="right">
236 <paramtype>Right const &amp;</paramtype>
237 </parameter>
238 </function>
239 <function name="operator&lt;&lt;">
240 <type><emphasis>unspecified</emphasis></type>
241 <template>
242 <template-type-parameter name="Left"/>
243 <template-type-parameter name="Right"/>
244 </template>
245 <parameter name="left">
246 <paramtype>Left const &amp;</paramtype>
247 </parameter>
248 <parameter name="right">
249 <paramtype>Right &amp;</paramtype>
250 </parameter>
251 </function>
252 <function name="operator&lt;&lt;">
253 <type><emphasis>unspecified</emphasis></type>
254 <template>
255 <template-type-parameter name="Left"/>
256 <template-type-parameter name="Right"/>
257 </template>
258 <parameter name="left">
259 <paramtype>Left const &amp;</paramtype>
260 </parameter>
261 <parameter name="right">
262 <paramtype>Right const &amp;</paramtype>
263 </parameter>
264 </function>
265 <function name="operator&gt;&gt;">
266 <type><emphasis>unspecified</emphasis></type>
267 <template>
268 <template-type-parameter name="Left"/>
269 <template-type-parameter name="Right"/>
270 </template>
271 <parameter name="left">
272 <paramtype>Left &amp;</paramtype>
273 </parameter>
274 <parameter name="right">
275 <paramtype>Right &amp;</paramtype>
276 </parameter>
277 </function>
278 <function name="operator&gt;&gt;">
279 <type><emphasis>unspecified</emphasis></type>
280 <template>
281 <template-type-parameter name="Left"/>
282 <template-type-parameter name="Right"/>
283 </template>
284 <parameter name="left">
285 <paramtype>Left &amp;</paramtype>
286 </parameter>
287 <parameter name="right">
288 <paramtype>Right const &amp;</paramtype>
289 </parameter>
290 </function>
291 <function name="operator&gt;&gt;">
292 <type><emphasis>unspecified</emphasis></type>
293 <template>
294 <template-type-parameter name="Left"/>
295 <template-type-parameter name="Right"/>
296 </template>
297 <parameter name="left">
298 <paramtype>Left const &amp;</paramtype>
299 </parameter>
300 <parameter name="right">
301 <paramtype>Right &amp;</paramtype>
302 </parameter>
303 </function>
304 <function name="operator&gt;&gt;">
305 <type><emphasis>unspecified</emphasis></type>
306 <template>
307 <template-type-parameter name="Left"/>
308 <template-type-parameter name="Right"/>
309 </template>
310 <parameter name="left">
311 <paramtype>Left const &amp;</paramtype>
312 </parameter>
313 <parameter name="right">
314 <paramtype>Right const &amp;</paramtype>
315 </parameter>
316 </function>
317 <function name="operator*">
318 <type><emphasis>unspecified</emphasis></type>
319 <template>
320 <template-type-parameter name="Left"/>
321 <template-type-parameter name="Right"/>
322 </template>
323 <parameter name="left">
324 <paramtype>Left &amp;</paramtype>
325 </parameter>
326 <parameter name="right">
327 <paramtype>Right &amp;</paramtype>
328 </parameter>
329 </function>
330 <function name="operator*">
331 <type><emphasis>unspecified</emphasis></type>
332 <template>
333 <template-type-parameter name="Left"/>
334 <template-type-parameter name="Right"/>
335 </template>
336 <parameter name="left">
337 <paramtype>Left &amp;</paramtype>
338 </parameter>
339 <parameter name="right">
340 <paramtype>Right const &amp;</paramtype>
341 </parameter>
342 </function>
343 <function name="operator*">
344 <type><emphasis>unspecified</emphasis></type>
345 <template>
346 <template-type-parameter name="Left"/>
347 <template-type-parameter name="Right"/>
348 </template>
349 <parameter name="left">
350 <paramtype>Left const &amp;</paramtype>
351 </parameter>
352 <parameter name="right">
353 <paramtype>Right &amp;</paramtype>
354 </parameter>
355 </function>
356 <function name="operator*">
357 <type><emphasis>unspecified</emphasis></type>
358 <template>
359 <template-type-parameter name="Left"/>
360 <template-type-parameter name="Right"/>
361 </template>
362 <parameter name="left">
363 <paramtype>Left const &amp;</paramtype>
364 </parameter>
365 <parameter name="right">
366 <paramtype>Right const &amp;</paramtype>
367 </parameter>
368 </function>
369 <function name="operator/">
370 <type><emphasis>unspecified</emphasis></type>
371 <template>
372 <template-type-parameter name="Left"/>
373 <template-type-parameter name="Right"/>
374 </template>
375 <parameter name="left">
376 <paramtype>Left &amp;</paramtype>
377 </parameter>
378 <parameter name="right">
379 <paramtype>Right &amp;</paramtype>
380 </parameter>
381 </function>
382 <function name="operator/">
383 <type><emphasis>unspecified</emphasis></type>
384 <template>
385 <template-type-parameter name="Left"/>
386 <template-type-parameter name="Right"/>
387 </template>
388 <parameter name="left">
389 <paramtype>Left &amp;</paramtype>
390 </parameter>
391 <parameter name="right">
392 <paramtype>Right const &amp;</paramtype>
393 </parameter>
394 </function>
395 <function name="operator/">
396 <type><emphasis>unspecified</emphasis></type>
397 <template>
398 <template-type-parameter name="Left"/>
399 <template-type-parameter name="Right"/>
400 </template>
401 <parameter name="left">
402 <paramtype>Left const &amp;</paramtype>
403 </parameter>
404 <parameter name="right">
405 <paramtype>Right &amp;</paramtype>
406 </parameter>
407 </function>
408 <function name="operator/">
409 <type><emphasis>unspecified</emphasis></type>
410 <template>
411 <template-type-parameter name="Left"/>
412 <template-type-parameter name="Right"/>
413 </template>
414 <parameter name="left">
415 <paramtype>Left const &amp;</paramtype>
416 </parameter>
417 <parameter name="right">
418 <paramtype>Right const &amp;</paramtype>
419 </parameter>
420 </function>
421 <function name="operator%">
422 <type><emphasis>unspecified</emphasis></type>
423 <template>
424 <template-type-parameter name="Left"/>
425 <template-type-parameter name="Right"/>
426 </template>
427 <parameter name="left">
428 <paramtype>Left &amp;</paramtype>
429 </parameter>
430 <parameter name="right">
431 <paramtype>Right &amp;</paramtype>
432 </parameter>
433 </function>
434 <function name="operator%">
435 <type><emphasis>unspecified</emphasis></type>
436 <template>
437 <template-type-parameter name="Left"/>
438 <template-type-parameter name="Right"/>
439 </template>
440 <parameter name="left">
441 <paramtype>Left &amp;</paramtype>
442 </parameter>
443 <parameter name="right">
444 <paramtype>Right const &amp;</paramtype>
445 </parameter>
446 </function>
447 <function name="operator%">
448 <type><emphasis>unspecified</emphasis></type>
449 <template>
450 <template-type-parameter name="Left"/>
451 <template-type-parameter name="Right"/>
452 </template>
453 <parameter name="left">
454 <paramtype>Left const &amp;</paramtype>
455 </parameter>
456 <parameter name="right">
457 <paramtype>Right &amp;</paramtype>
458 </parameter>
459 </function>
460 <function name="operator%">
461 <type><emphasis>unspecified</emphasis></type>
462 <template>
463 <template-type-parameter name="Left"/>
464 <template-type-parameter name="Right"/>
465 </template>
466 <parameter name="left">
467 <paramtype>Left const &amp;</paramtype>
468 </parameter>
469 <parameter name="right">
470 <paramtype>Right const &amp;</paramtype>
471 </parameter>
472 </function>
473 <function name="operator+">
474 <type><emphasis>unspecified</emphasis></type>
475 <template>
476 <template-type-parameter name="Left"/>
477 <template-type-parameter name="Right"/>
478 </template>
479 <parameter name="left">
480 <paramtype>Left &amp;</paramtype>
481 </parameter>
482 <parameter name="right">
483 <paramtype>Right &amp;</paramtype>
484 </parameter>
485 </function>
486 <function name="operator+">
487 <type><emphasis>unspecified</emphasis></type>
488 <template>
489 <template-type-parameter name="Left"/>
490 <template-type-parameter name="Right"/>
491 </template>
492 <parameter name="left">
493 <paramtype>Left &amp;</paramtype>
494 </parameter>
495 <parameter name="right">
496 <paramtype>Right const &amp;</paramtype>
497 </parameter>
498 </function>
499 <function name="operator+">
500 <type><emphasis>unspecified</emphasis></type>
501 <template>
502 <template-type-parameter name="Left"/>
503 <template-type-parameter name="Right"/>
504 </template>
505 <parameter name="left">
506 <paramtype>Left const &amp;</paramtype>
507 </parameter>
508 <parameter name="right">
509 <paramtype>Right &amp;</paramtype>
510 </parameter>
511 </function>
512 <function name="operator+">
513 <type><emphasis>unspecified</emphasis></type>
514 <template>
515 <template-type-parameter name="Left"/>
516 <template-type-parameter name="Right"/>
517 </template>
518 <parameter name="left">
519 <paramtype>Left const &amp;</paramtype>
520 </parameter>
521 <parameter name="right">
522 <paramtype>Right const &amp;</paramtype>
523 </parameter>
524 </function>
525 <function name="operator-">
526 <type><emphasis>unspecified</emphasis></type>
527 <template>
528 <template-type-parameter name="Left"/>
529 <template-type-parameter name="Right"/>
530 </template>
531 <parameter name="left">
532 <paramtype>Left &amp;</paramtype>
533 </parameter>
534 <parameter name="right">
535 <paramtype>Right &amp;</paramtype>
536 </parameter>
537 </function>
538 <function name="operator-">
539 <type><emphasis>unspecified</emphasis></type>
540 <template>
541 <template-type-parameter name="Left"/>
542 <template-type-parameter name="Right"/>
543 </template>
544 <parameter name="left">
545 <paramtype>Left &amp;</paramtype>
546 </parameter>
547 <parameter name="right">
548 <paramtype>Right const &amp;</paramtype>
549 </parameter>
550 </function>
551 <function name="operator-">
552 <type><emphasis>unspecified</emphasis></type>
553 <template>
554 <template-type-parameter name="Left"/>
555 <template-type-parameter name="Right"/>
556 </template>
557 <parameter name="left">
558 <paramtype>Left const &amp;</paramtype>
559 </parameter>
560 <parameter name="right">
561 <paramtype>Right &amp;</paramtype>
562 </parameter>
563 </function>
564 <function name="operator-">
565 <type><emphasis>unspecified</emphasis></type>
566 <template>
567 <template-type-parameter name="Left"/>
568 <template-type-parameter name="Right"/>
569 </template>
570 <parameter name="left">
571 <paramtype>Left const &amp;</paramtype>
572 </parameter>
573 <parameter name="right">
574 <paramtype>Right const &amp;</paramtype>
575 </parameter>
576 </function>
577 <function name="operator&lt;">
578 <type><emphasis>unspecified</emphasis></type>
579 <template>
580 <template-type-parameter name="Left"/>
581 <template-type-parameter name="Right"/>
582 </template>
583 <parameter name="left">
584 <paramtype>Left &amp;</paramtype>
585 </parameter>
586 <parameter name="right">
587 <paramtype>Right &amp;</paramtype>
588 </parameter>
589 </function>
590 <function name="operator&lt;">
591 <type><emphasis>unspecified</emphasis></type>
592 <template>
593 <template-type-parameter name="Left"/>
594 <template-type-parameter name="Right"/>
595 </template>
596 <parameter name="left">
597 <paramtype>Left &amp;</paramtype>
598 </parameter>
599 <parameter name="right">
600 <paramtype>Right const &amp;</paramtype>
601 </parameter>
602 </function>
603 <function name="operator&lt;">
604 <type><emphasis>unspecified</emphasis></type>
605 <template>
606 <template-type-parameter name="Left"/>
607 <template-type-parameter name="Right"/>
608 </template>
609 <parameter name="left">
610 <paramtype>Left const &amp;</paramtype>
611 </parameter>
612 <parameter name="right">
613 <paramtype>Right &amp;</paramtype>
614 </parameter>
615 </function>
616 <function name="operator&lt;">
617 <type><emphasis>unspecified</emphasis></type>
618 <template>
619 <template-type-parameter name="Left"/>
620 <template-type-parameter name="Right"/>
621 </template>
622 <parameter name="left">
623 <paramtype>Left const &amp;</paramtype>
624 </parameter>
625 <parameter name="right">
626 <paramtype>Right const &amp;</paramtype>
627 </parameter>
628 </function>
629 <function name="operator&gt;">
630 <type><emphasis>unspecified</emphasis></type>
631 <template>
632 <template-type-parameter name="Left"/>
633 <template-type-parameter name="Right"/>
634 </template>
635 <parameter name="left">
636 <paramtype>Left &amp;</paramtype>
637 </parameter>
638 <parameter name="right">
639 <paramtype>Right &amp;</paramtype>
640 </parameter>
641 </function>
642 <function name="operator&gt;">
643 <type><emphasis>unspecified</emphasis></type>
644 <template>
645 <template-type-parameter name="Left"/>
646 <template-type-parameter name="Right"/>
647 </template>
648 <parameter name="left">
649 <paramtype>Left &amp;</paramtype>
650 </parameter>
651 <parameter name="right">
652 <paramtype>Right const &amp;</paramtype>
653 </parameter>
654 </function>
655 <function name="operator&gt;">
656 <type><emphasis>unspecified</emphasis></type>
657 <template>
658 <template-type-parameter name="Left"/>
659 <template-type-parameter name="Right"/>
660 </template>
661 <parameter name="left">
662 <paramtype>Left const &amp;</paramtype>
663 </parameter>
664 <parameter name="right">
665 <paramtype>Right &amp;</paramtype>
666 </parameter>
667 </function>
668 <function name="operator&gt;">
669 <type><emphasis>unspecified</emphasis></type>
670 <template>
671 <template-type-parameter name="Left"/>
672 <template-type-parameter name="Right"/>
673 </template>
674 <parameter name="left">
675 <paramtype>Left const &amp;</paramtype>
676 </parameter>
677 <parameter name="right">
678 <paramtype>Right const &amp;</paramtype>
679 </parameter>
680 </function>
681 <function name="operator&lt;=">
682 <type><emphasis>unspecified</emphasis></type>
683 <template>
684 <template-type-parameter name="Left"/>
685 <template-type-parameter name="Right"/>
686 </template>
687 <parameter name="left">
688 <paramtype>Left &amp;</paramtype>
689 </parameter>
690 <parameter name="right">
691 <paramtype>Right &amp;</paramtype>
692 </parameter>
693 </function>
694 <function name="operator&lt;=">
695 <type><emphasis>unspecified</emphasis></type>
696 <template>
697 <template-type-parameter name="Left"/>
698 <template-type-parameter name="Right"/>
699 </template>
700 <parameter name="left">
701 <paramtype>Left &amp;</paramtype>
702 </parameter>
703 <parameter name="right">
704 <paramtype>Right const &amp;</paramtype>
705 </parameter>
706 </function>
707 <function name="operator&lt;=">
708 <type><emphasis>unspecified</emphasis></type>
709 <template>
710 <template-type-parameter name="Left"/>
711 <template-type-parameter name="Right"/>
712 </template>
713 <parameter name="left">
714 <paramtype>Left const &amp;</paramtype>
715 </parameter>
716 <parameter name="right">
717 <paramtype>Right &amp;</paramtype>
718 </parameter>
719 </function>
720 <function name="operator&lt;=">
721 <type><emphasis>unspecified</emphasis></type>
722 <template>
723 <template-type-parameter name="Left"/>
724 <template-type-parameter name="Right"/>
725 </template>
726 <parameter name="left">
727 <paramtype>Left const &amp;</paramtype>
728 </parameter>
729 <parameter name="right">
730 <paramtype>Right const &amp;</paramtype>
731 </parameter>
732 </function>
733 <function name="operator&gt;=">
734 <type><emphasis>unspecified</emphasis></type>
735 <template>
736 <template-type-parameter name="Left"/>
737 <template-type-parameter name="Right"/>
738 </template>
739 <parameter name="left">
740 <paramtype>Left &amp;</paramtype>
741 </parameter>
742 <parameter name="right">
743 <paramtype>Right &amp;</paramtype>
744 </parameter>
745 </function>
746 <function name="operator&gt;=">
747 <type><emphasis>unspecified</emphasis></type>
748 <template>
749 <template-type-parameter name="Left"/>
750 <template-type-parameter name="Right"/>
751 </template>
752 <parameter name="left">
753 <paramtype>Left &amp;</paramtype>
754 </parameter>
755 <parameter name="right">
756 <paramtype>Right const &amp;</paramtype>
757 </parameter>
758 </function>
759 <function name="operator&gt;=">
760 <type><emphasis>unspecified</emphasis></type>
761 <template>
762 <template-type-parameter name="Left"/>
763 <template-type-parameter name="Right"/>
764 </template>
765 <parameter name="left">
766 <paramtype>Left const &amp;</paramtype>
767 </parameter>
768 <parameter name="right">
769 <paramtype>Right &amp;</paramtype>
770 </parameter>
771 </function>
772 <function name="operator&gt;=">
773 <type><emphasis>unspecified</emphasis></type>
774 <template>
775 <template-type-parameter name="Left"/>
776 <template-type-parameter name="Right"/>
777 </template>
778 <parameter name="left">
779 <paramtype>Left const &amp;</paramtype>
780 </parameter>
781 <parameter name="right">
782 <paramtype>Right const &amp;</paramtype>
783 </parameter>
784 </function>
785 <function name="operator==">
786 <type><emphasis>unspecified</emphasis></type>
787 <template>
788 <template-type-parameter name="Left"/>
789 <template-type-parameter name="Right"/>
790 </template>
791 <parameter name="left">
792 <paramtype>Left &amp;</paramtype>
793 </parameter>
794 <parameter name="right">
795 <paramtype>Right &amp;</paramtype>
796 </parameter>
797 </function>
798 <function name="operator==">
799 <type><emphasis>unspecified</emphasis></type>
800 <template>
801 <template-type-parameter name="Left"/>
802 <template-type-parameter name="Right"/>
803 </template>
804 <parameter name="left">
805 <paramtype>Left &amp;</paramtype>
806 </parameter>
807 <parameter name="right">
808 <paramtype>Right const &amp;</paramtype>
809 </parameter>
810 </function>
811 <function name="operator==">
812 <type><emphasis>unspecified</emphasis></type>
813 <template>
814 <template-type-parameter name="Left"/>
815 <template-type-parameter name="Right"/>
816 </template>
817 <parameter name="left">
818 <paramtype>Left const &amp;</paramtype>
819 </parameter>
820 <parameter name="right">
821 <paramtype>Right &amp;</paramtype>
822 </parameter>
823 </function>
824 <function name="operator==">
825 <type><emphasis>unspecified</emphasis></type>
826 <template>
827 <template-type-parameter name="Left"/>
828 <template-type-parameter name="Right"/>
829 </template>
830 <parameter name="left">
831 <paramtype>Left const &amp;</paramtype>
832 </parameter>
833 <parameter name="right">
834 <paramtype>Right const &amp;</paramtype>
835 </parameter>
836 </function>
837 <function name="operator!=">
838 <type><emphasis>unspecified</emphasis></type>
839 <template>
840 <template-type-parameter name="Left"/>
841 <template-type-parameter name="Right"/>
842 </template>
843 <parameter name="left">
844 <paramtype>Left &amp;</paramtype>
845 </parameter>
846 <parameter name="right">
847 <paramtype>Right &amp;</paramtype>
848 </parameter>
849 </function>
850 <function name="operator!=">
851 <type><emphasis>unspecified</emphasis></type>
852 <template>
853 <template-type-parameter name="Left"/>
854 <template-type-parameter name="Right"/>
855 </template>
856 <parameter name="left">
857 <paramtype>Left &amp;</paramtype>
858 </parameter>
859 <parameter name="right">
860 <paramtype>Right const &amp;</paramtype>
861 </parameter>
862 </function>
863 <function name="operator!=">
864 <type><emphasis>unspecified</emphasis></type>
865 <template>
866 <template-type-parameter name="Left"/>
867 <template-type-parameter name="Right"/>
868 </template>
869 <parameter name="left">
870 <paramtype>Left const &amp;</paramtype>
871 </parameter>
872 <parameter name="right">
873 <paramtype>Right &amp;</paramtype>
874 </parameter>
875 </function>
876 <function name="operator!=">
877 <type><emphasis>unspecified</emphasis></type>
878 <template>
879 <template-type-parameter name="Left"/>
880 <template-type-parameter name="Right"/>
881 </template>
882 <parameter name="left">
883 <paramtype>Left const &amp;</paramtype>
884 </parameter>
885 <parameter name="right">
886 <paramtype>Right const &amp;</paramtype>
887 </parameter>
888 </function>
889 <function name="operator||">
890 <type><emphasis>unspecified</emphasis></type>
891 <template>
892 <template-type-parameter name="Left"/>
893 <template-type-parameter name="Right"/>
894 </template>
895 <parameter name="left">
896 <paramtype>Left &amp;</paramtype>
897 </parameter>
898 <parameter name="right">
899 <paramtype>Right &amp;</paramtype>
900 </parameter>
901 </function>
902 <function name="operator||">
903 <type><emphasis>unspecified</emphasis></type>
904 <template>
905 <template-type-parameter name="Left"/>
906 <template-type-parameter name="Right"/>
907 </template>
908 <parameter name="left">
909 <paramtype>Left &amp;</paramtype>
910 </parameter>
911 <parameter name="right">
912 <paramtype>Right const &amp;</paramtype>
913 </parameter>
914 </function>
915 <function name="operator||">
916 <type><emphasis>unspecified</emphasis></type>
917 <template>
918 <template-type-parameter name="Left"/>
919 <template-type-parameter name="Right"/>
920 </template>
921 <parameter name="left">
922 <paramtype>Left const &amp;</paramtype>
923 </parameter>
924 <parameter name="right">
925 <paramtype>Right &amp;</paramtype>
926 </parameter>
927 </function>
928 <function name="operator||">
929 <type><emphasis>unspecified</emphasis></type>
930 <template>
931 <template-type-parameter name="Left"/>
932 <template-type-parameter name="Right"/>
933 </template>
934 <parameter name="left">
935 <paramtype>Left const &amp;</paramtype>
936 </parameter>
937 <parameter name="right">
938 <paramtype>Right const &amp;</paramtype>
939 </parameter>
940 </function>
941 <function name="operator&amp;&amp;">
942 <type><emphasis>unspecified</emphasis></type>
943 <template>
944 <template-type-parameter name="Left"/>
945 <template-type-parameter name="Right"/>
946 </template>
947 <parameter name="left">
948 <paramtype>Left &amp;</paramtype>
949 </parameter>
950 <parameter name="right">
951 <paramtype>Right &amp;</paramtype>
952 </parameter>
953 </function>
954 <function name="operator&amp;&amp;">
955 <type><emphasis>unspecified</emphasis></type>
956 <template>
957 <template-type-parameter name="Left"/>
958 <template-type-parameter name="Right"/>
959 </template>
960 <parameter name="left">
961 <paramtype>Left &amp;</paramtype>
962 </parameter>
963 <parameter name="right">
964 <paramtype>Right const &amp;</paramtype>
965 </parameter>
966 </function>
967 <function name="operator&amp;&amp;">
968 <type><emphasis>unspecified</emphasis></type>
969 <template>
970 <template-type-parameter name="Left"/>
971 <template-type-parameter name="Right"/>
972 </template>
973 <parameter name="left">
974 <paramtype>Left const &amp;</paramtype>
975 </parameter>
976 <parameter name="right">
977 <paramtype>Right &amp;</paramtype>
978 </parameter>
979 </function>
980 <function name="operator&amp;&amp;">
981 <type><emphasis>unspecified</emphasis></type>
982 <template>
983 <template-type-parameter name="Left"/>
984 <template-type-parameter name="Right"/>
985 </template>
986 <parameter name="left">
987 <paramtype>Left const &amp;</paramtype>
988 </parameter>
989 <parameter name="right">
990 <paramtype>Right const &amp;</paramtype>
991 </parameter>
992 </function>
993 <function name="operator&amp;">
994 <type><emphasis>unspecified</emphasis></type>
995 <template>
996 <template-type-parameter name="Left"/>
997 <template-type-parameter name="Right"/>
998 </template>
999 <parameter name="left">
1000 <paramtype>Left &amp;</paramtype>
1001 </parameter>
1002 <parameter name="right">
1003 <paramtype>Right &amp;</paramtype>
1004 </parameter>
1005 </function>
1006 <function name="operator&amp;">
1007 <type><emphasis>unspecified</emphasis></type>
1008 <template>
1009 <template-type-parameter name="Left"/>
1010 <template-type-parameter name="Right"/>
1011 </template>
1012 <parameter name="left">
1013 <paramtype>Left &amp;</paramtype>
1014 </parameter>
1015 <parameter name="right">
1016 <paramtype>Right const &amp;</paramtype>
1017 </parameter>
1018 </function>
1019 <function name="operator&amp;">
1020 <type><emphasis>unspecified</emphasis></type>
1021 <template>
1022 <template-type-parameter name="Left"/>
1023 <template-type-parameter name="Right"/>
1024 </template>
1025 <parameter name="left">
1026 <paramtype>Left const &amp;</paramtype>
1027 </parameter>
1028 <parameter name="right">
1029 <paramtype>Right &amp;</paramtype>
1030 </parameter>
1031 </function>
1032 <function name="operator&amp;">
1033 <type><emphasis>unspecified</emphasis></type>
1034 <template>
1035 <template-type-parameter name="Left"/>
1036 <template-type-parameter name="Right"/>
1037 </template>
1038 <parameter name="left">
1039 <paramtype>Left const &amp;</paramtype>
1040 </parameter>
1041 <parameter name="right">
1042 <paramtype>Right const &amp;</paramtype>
1043 </parameter>
1044 </function>
1045 <function name="operator|">
1046 <type><emphasis>unspecified</emphasis></type>
1047 <template>
1048 <template-type-parameter name="Left"/>
1049 <template-type-parameter name="Right"/>
1050 </template>
1051 <parameter name="left">
1052 <paramtype>Left &amp;</paramtype>
1053 </parameter>
1054 <parameter name="right">
1055 <paramtype>Right &amp;</paramtype>
1056 </parameter>
1057 </function>
1058 <function name="operator|">
1059 <type><emphasis>unspecified</emphasis></type>
1060 <template>
1061 <template-type-parameter name="Left"/>
1062 <template-type-parameter name="Right"/>
1063 </template>
1064 <parameter name="left">
1065 <paramtype>Left &amp;</paramtype>
1066 </parameter>
1067 <parameter name="right">
1068 <paramtype>Right const &amp;</paramtype>
1069 </parameter>
1070 </function>
1071 <function name="operator|">
1072 <type><emphasis>unspecified</emphasis></type>
1073 <template>
1074 <template-type-parameter name="Left"/>
1075 <template-type-parameter name="Right"/>
1076 </template>
1077 <parameter name="left">
1078 <paramtype>Left const &amp;</paramtype>
1079 </parameter>
1080 <parameter name="right">
1081 <paramtype>Right &amp;</paramtype>
1082 </parameter>
1083 </function>
1084 <function name="operator|">
1085 <type><emphasis>unspecified</emphasis></type>
1086 <template>
1087 <template-type-parameter name="Left"/>
1088 <template-type-parameter name="Right"/>
1089 </template>
1090 <parameter name="left">
1091 <paramtype>Left const &amp;</paramtype>
1092 </parameter>
1093 <parameter name="right">
1094 <paramtype>Right const &amp;</paramtype>
1095 </parameter>
1096 </function>
1097 <function name="operator^">
1098 <type><emphasis>unspecified</emphasis></type>
1099 <template>
1100 <template-type-parameter name="Left"/>
1101 <template-type-parameter name="Right"/>
1102 </template>
1103 <parameter name="left">
1104 <paramtype>Left &amp;</paramtype>
1105 </parameter>
1106 <parameter name="right">
1107 <paramtype>Right &amp;</paramtype>
1108 </parameter>
1109 </function>
1110 <function name="operator^">
1111 <type><emphasis>unspecified</emphasis></type>
1112 <template>
1113 <template-type-parameter name="Left"/>
1114 <template-type-parameter name="Right"/>
1115 </template>
1116 <parameter name="left">
1117 <paramtype>Left &amp;</paramtype>
1118 </parameter>
1119 <parameter name="right">
1120 <paramtype>Right const &amp;</paramtype>
1121 </parameter>
1122 </function>
1123 <function name="operator^">
1124 <type><emphasis>unspecified</emphasis></type>
1125 <template>
1126 <template-type-parameter name="Left"/>
1127 <template-type-parameter name="Right"/>
1128 </template>
1129 <parameter name="left">
1130 <paramtype>Left const &amp;</paramtype>
1131 </parameter>
1132 <parameter name="right">
1133 <paramtype>Right &amp;</paramtype>
1134 </parameter>
1135 </function>
1136 <function name="operator^">
1137 <type><emphasis>unspecified</emphasis></type>
1138 <template>
1139 <template-type-parameter name="Left"/>
1140 <template-type-parameter name="Right"/>
1141 </template>
1142 <parameter name="left">
1143 <paramtype>Left const &amp;</paramtype>
1144 </parameter>
1145 <parameter name="right">
1146 <paramtype>Right const &amp;</paramtype>
1147 </parameter>
1148 </function>
1149 <function name="operator,">
1150 <type><emphasis>unspecified</emphasis></type>
1151 <template>
1152 <template-type-parameter name="Left"/>
1153 <template-type-parameter name="Right"/>
1154 </template>
1155 <parameter name="left">
1156 <paramtype>Left &amp;</paramtype>
1157 </parameter>
1158 <parameter name="right">
1159 <paramtype>Right &amp;</paramtype>
1160 </parameter>
1161 </function>
1162 <function name="operator,">
1163 <type><emphasis>unspecified</emphasis></type>
1164 <template>
1165 <template-type-parameter name="Left"/>
1166 <template-type-parameter name="Right"/>
1167 </template>
1168 <parameter name="left">
1169 <paramtype>Left &amp;</paramtype>
1170 </parameter>
1171 <parameter name="right">
1172 <paramtype>Right const &amp;</paramtype>
1173 </parameter>
1174 </function>
1175 <function name="operator,">
1176 <type><emphasis>unspecified</emphasis></type>
1177 <template>
1178 <template-type-parameter name="Left"/>
1179 <template-type-parameter name="Right"/>
1180 </template>
1181 <parameter name="left">
1182 <paramtype>Left const &amp;</paramtype>
1183 </parameter>
1184 <parameter name="right">
1185 <paramtype>Right &amp;</paramtype>
1186 </parameter>
1187 </function>
1188 <function name="operator,">
1189 <type><emphasis>unspecified</emphasis></type>
1190 <template>
1191 <template-type-parameter name="Left"/>
1192 <template-type-parameter name="Right"/>
1193 </template>
1194 <parameter name="left">
1195 <paramtype>Left const &amp;</paramtype>
1196 </parameter>
1197 <parameter name="right">
1198 <paramtype>Right const &amp;</paramtype>
1199 </parameter>
1200 </function>
1201 <function name="operator-&gt;*">
1202 <type><emphasis>unspecified</emphasis></type>
1203 <template>
1204 <template-type-parameter name="Left"/>
1205 <template-type-parameter name="Right"/>
1206 </template>
1207 <parameter name="left">
1208 <paramtype>Left &amp;</paramtype>
1209 </parameter>
1210 <parameter name="right">
1211 <paramtype>Right &amp;</paramtype>
1212 </parameter>
1213 </function>
1214 <function name="operator-&gt;*">
1215 <type><emphasis>unspecified</emphasis></type>
1216 <template>
1217 <template-type-parameter name="Left"/>
1218 <template-type-parameter name="Right"/>
1219 </template>
1220 <parameter name="left">
1221 <paramtype>Left &amp;</paramtype>
1222 </parameter>
1223 <parameter name="right">
1224 <paramtype>Right const &amp;</paramtype>
1225 </parameter>
1226 </function>
1227 <function name="operator-&gt;*">
1228 <type><emphasis>unspecified</emphasis></type>
1229 <template>
1230 <template-type-parameter name="Left"/>
1231 <template-type-parameter name="Right"/>
1232 </template>
1233 <parameter name="left">
1234 <paramtype>Left const &amp;</paramtype>
1235 </parameter>
1236 <parameter name="right">
1237 <paramtype>Right &amp;</paramtype>
1238 </parameter>
1239 </function>
1240 <function name="operator-&gt;*">
1241 <type><emphasis>unspecified</emphasis></type>
1242 <template>
1243 <template-type-parameter name="Left"/>
1244 <template-type-parameter name="Right"/>
1245 </template>
1246 <parameter name="left">
1247 <paramtype>Left const &amp;</paramtype>
1248 </parameter>
1249 <parameter name="right">
1250 <paramtype>Right const &amp;</paramtype>
1251 </parameter>
1252 </function>
1253 <function name="operator&lt;&lt;=">
1254 <type><emphasis>unspecified</emphasis></type>
1255 <template>
1256 <template-type-parameter name="Left"/>
1257 <template-type-parameter name="Right"/>
1258 </template>
1259 <parameter name="left">
1260 <paramtype>Left &amp;</paramtype>
1261 </parameter>
1262 <parameter name="right">
1263 <paramtype>Right &amp;</paramtype>
1264 </parameter>
1265 </function>
1266 <function name="operator&lt;&lt;=">
1267 <type><emphasis>unspecified</emphasis></type>
1268 <template>
1269 <template-type-parameter name="Left"/>
1270 <template-type-parameter name="Right"/>
1271 </template>
1272 <parameter name="left">
1273 <paramtype>Left &amp;</paramtype>
1274 </parameter>
1275 <parameter name="right">
1276 <paramtype>Right const &amp;</paramtype>
1277 </parameter>
1278 </function>
1279 <function name="operator&lt;&lt;=">
1280 <type><emphasis>unspecified</emphasis></type>
1281 <template>
1282 <template-type-parameter name="Left"/>
1283 <template-type-parameter name="Right"/>
1284 </template>
1285 <parameter name="left">
1286 <paramtype>Left const &amp;</paramtype>
1287 </parameter>
1288 <parameter name="right">
1289 <paramtype>Right &amp;</paramtype>
1290 </parameter>
1291 </function>
1292 <function name="operator&lt;&lt;=">
1293 <type><emphasis>unspecified</emphasis></type>
1294 <template>
1295 <template-type-parameter name="Left"/>
1296 <template-type-parameter name="Right"/>
1297 </template>
1298 <parameter name="left">
1299 <paramtype>Left const &amp;</paramtype>
1300 </parameter>
1301 <parameter name="right">
1302 <paramtype>Right const &amp;</paramtype>
1303 </parameter>
1304 </function>
1305 <function name="operator&gt;&gt;=">
1306 <type><emphasis>unspecified</emphasis></type>
1307 <template>
1308 <template-type-parameter name="Left"/>
1309 <template-type-parameter name="Right"/>
1310 </template>
1311 <parameter name="left">
1312 <paramtype>Left &amp;</paramtype>
1313 </parameter>
1314 <parameter name="right">
1315 <paramtype>Right &amp;</paramtype>
1316 </parameter>
1317 </function>
1318 <function name="operator&gt;&gt;=">
1319 <type><emphasis>unspecified</emphasis></type>
1320 <template>
1321 <template-type-parameter name="Left"/>
1322 <template-type-parameter name="Right"/>
1323 </template>
1324 <parameter name="left">
1325 <paramtype>Left &amp;</paramtype>
1326 </parameter>
1327 <parameter name="right">
1328 <paramtype>Right const &amp;</paramtype>
1329 </parameter>
1330 </function>
1331 <function name="operator&gt;&gt;=">
1332 <type><emphasis>unspecified</emphasis></type>
1333 <template>
1334 <template-type-parameter name="Left"/>
1335 <template-type-parameter name="Right"/>
1336 </template>
1337 <parameter name="left">
1338 <paramtype>Left const &amp;</paramtype>
1339 </parameter>
1340 <parameter name="right">
1341 <paramtype>Right &amp;</paramtype>
1342 </parameter>
1343 </function>
1344 <function name="operator&gt;&gt;=">
1345 <type><emphasis>unspecified</emphasis></type>
1346 <template>
1347 <template-type-parameter name="Left"/>
1348 <template-type-parameter name="Right"/>
1349 </template>
1350 <parameter name="left">
1351 <paramtype>Left const &amp;</paramtype>
1352 </parameter>
1353 <parameter name="right">
1354 <paramtype>Right const &amp;</paramtype>
1355 </parameter>
1356 </function>
1357 <function name="operator*=">
1358 <type><emphasis>unspecified</emphasis></type>
1359 <template>
1360 <template-type-parameter name="Left"/>
1361 <template-type-parameter name="Right"/>
1362 </template>
1363 <parameter name="left">
1364 <paramtype>Left &amp;</paramtype>
1365 </parameter>
1366 <parameter name="right">
1367 <paramtype>Right &amp;</paramtype>
1368 </parameter>
1369 </function>
1370 <function name="operator*=">
1371 <type><emphasis>unspecified</emphasis></type>
1372 <template>
1373 <template-type-parameter name="Left"/>
1374 <template-type-parameter name="Right"/>
1375 </template>
1376 <parameter name="left">
1377 <paramtype>Left &amp;</paramtype>
1378 </parameter>
1379 <parameter name="right">
1380 <paramtype>Right const &amp;</paramtype>
1381 </parameter>
1382 </function>
1383 <function name="operator*=">
1384 <type><emphasis>unspecified</emphasis></type>
1385 <template>
1386 <template-type-parameter name="Left"/>
1387 <template-type-parameter name="Right"/>
1388 </template>
1389 <parameter name="left">
1390 <paramtype>Left const &amp;</paramtype>
1391 </parameter>
1392 <parameter name="right">
1393 <paramtype>Right &amp;</paramtype>
1394 </parameter>
1395 </function>
1396 <function name="operator*=">
1397 <type><emphasis>unspecified</emphasis></type>
1398 <template>
1399 <template-type-parameter name="Left"/>
1400 <template-type-parameter name="Right"/>
1401 </template>
1402 <parameter name="left">
1403 <paramtype>Left const &amp;</paramtype>
1404 </parameter>
1405 <parameter name="right">
1406 <paramtype>Right const &amp;</paramtype>
1407 </parameter>
1408 </function>
1409 <function name="operator/=">
1410 <type><emphasis>unspecified</emphasis></type>
1411 <template>
1412 <template-type-parameter name="Left"/>
1413 <template-type-parameter name="Right"/>
1414 </template>
1415 <parameter name="left">
1416 <paramtype>Left &amp;</paramtype>
1417 </parameter>
1418 <parameter name="right">
1419 <paramtype>Right &amp;</paramtype>
1420 </parameter>
1421 </function>
1422 <function name="operator/=">
1423 <type><emphasis>unspecified</emphasis></type>
1424 <template>
1425 <template-type-parameter name="Left"/>
1426 <template-type-parameter name="Right"/>
1427 </template>
1428 <parameter name="left">
1429 <paramtype>Left &amp;</paramtype>
1430 </parameter>
1431 <parameter name="right">
1432 <paramtype>Right const &amp;</paramtype>
1433 </parameter>
1434 </function>
1435 <function name="operator/=">
1436 <type><emphasis>unspecified</emphasis></type>
1437 <template>
1438 <template-type-parameter name="Left"/>
1439 <template-type-parameter name="Right"/>
1440 </template>
1441 <parameter name="left">
1442 <paramtype>Left const &amp;</paramtype>
1443 </parameter>
1444 <parameter name="right">
1445 <paramtype>Right &amp;</paramtype>
1446 </parameter>
1447 </function>
1448 <function name="operator/=">
1449 <type><emphasis>unspecified</emphasis></type>
1450 <template>
1451 <template-type-parameter name="Left"/>
1452 <template-type-parameter name="Right"/>
1453 </template>
1454 <parameter name="left">
1455 <paramtype>Left const &amp;</paramtype>
1456 </parameter>
1457 <parameter name="right">
1458 <paramtype>Right const &amp;</paramtype>
1459 </parameter>
1460 </function>
1461 <function name="operator%=">
1462 <type><emphasis>unspecified</emphasis></type>
1463 <template>
1464 <template-type-parameter name="Left"/>
1465 <template-type-parameter name="Right"/>
1466 </template>
1467 <parameter name="left">
1468 <paramtype>Left &amp;</paramtype>
1469 </parameter>
1470 <parameter name="right">
1471 <paramtype>Right &amp;</paramtype>
1472 </parameter>
1473 </function>
1474 <function name="operator%=">
1475 <type><emphasis>unspecified</emphasis></type>
1476 <template>
1477 <template-type-parameter name="Left"/>
1478 <template-type-parameter name="Right"/>
1479 </template>
1480 <parameter name="left">
1481 <paramtype>Left &amp;</paramtype>
1482 </parameter>
1483 <parameter name="right">
1484 <paramtype>Right const &amp;</paramtype>
1485 </parameter>
1486 </function>
1487 <function name="operator%=">
1488 <type><emphasis>unspecified</emphasis></type>
1489 <template>
1490 <template-type-parameter name="Left"/>
1491 <template-type-parameter name="Right"/>
1492 </template>
1493 <parameter name="left">
1494 <paramtype>Left const &amp;</paramtype>
1495 </parameter>
1496 <parameter name="right">
1497 <paramtype>Right &amp;</paramtype>
1498 </parameter>
1499 </function>
1500 <function name="operator%=">
1501 <type><emphasis>unspecified</emphasis></type>
1502 <template>
1503 <template-type-parameter name="Left"/>
1504 <template-type-parameter name="Right"/>
1505 </template>
1506 <parameter name="left">
1507 <paramtype>Left const &amp;</paramtype>
1508 </parameter>
1509 <parameter name="right">
1510 <paramtype>Right const &amp;</paramtype>
1511 </parameter>
1512 </function>
1513 <function name="operator+=">
1514 <type><emphasis>unspecified</emphasis></type>
1515 <template>
1516 <template-type-parameter name="Left"/>
1517 <template-type-parameter name="Right"/>
1518 </template>
1519 <parameter name="left">
1520 <paramtype>Left &amp;</paramtype>
1521 </parameter>
1522 <parameter name="right">
1523 <paramtype>Right &amp;</paramtype>
1524 </parameter>
1525 </function>
1526 <function name="operator+=">
1527 <type><emphasis>unspecified</emphasis></type>
1528 <template>
1529 <template-type-parameter name="Left"/>
1530 <template-type-parameter name="Right"/>
1531 </template>
1532 <parameter name="left">
1533 <paramtype>Left &amp;</paramtype>
1534 </parameter>
1535 <parameter name="right">
1536 <paramtype>Right const &amp;</paramtype>
1537 </parameter>
1538 </function>
1539 <function name="operator+=">
1540 <type><emphasis>unspecified</emphasis></type>
1541 <template>
1542 <template-type-parameter name="Left"/>
1543 <template-type-parameter name="Right"/>
1544 </template>
1545 <parameter name="left">
1546 <paramtype>Left const &amp;</paramtype>
1547 </parameter>
1548 <parameter name="right">
1549 <paramtype>Right &amp;</paramtype>
1550 </parameter>
1551 </function>
1552 <function name="operator+=">
1553 <type><emphasis>unspecified</emphasis></type>
1554 <template>
1555 <template-type-parameter name="Left"/>
1556 <template-type-parameter name="Right"/>
1557 </template>
1558 <parameter name="left">
1559 <paramtype>Left const &amp;</paramtype>
1560 </parameter>
1561 <parameter name="right">
1562 <paramtype>Right const &amp;</paramtype>
1563 </parameter>
1564 </function>
1565 <function name="operator-=">
1566 <type><emphasis>unspecified</emphasis></type>
1567 <template>
1568 <template-type-parameter name="Left"/>
1569 <template-type-parameter name="Right"/>
1570 </template>
1571 <parameter name="left">
1572 <paramtype>Left &amp;</paramtype>
1573 </parameter>
1574 <parameter name="right">
1575 <paramtype>Right &amp;</paramtype>
1576 </parameter>
1577 </function>
1578 <function name="operator-=">
1579 <type><emphasis>unspecified</emphasis></type>
1580 <template>
1581 <template-type-parameter name="Left"/>
1582 <template-type-parameter name="Right"/>
1583 </template>
1584 <parameter name="left">
1585 <paramtype>Left &amp;</paramtype>
1586 </parameter>
1587 <parameter name="right">
1588 <paramtype>Right const &amp;</paramtype>
1589 </parameter>
1590 </function>
1591 <function name="operator-=">
1592 <type><emphasis>unspecified</emphasis></type>
1593 <template>
1594 <template-type-parameter name="Left"/>
1595 <template-type-parameter name="Right"/>
1596 </template>
1597 <parameter name="left">
1598 <paramtype>Left const &amp;</paramtype>
1599 </parameter>
1600 <parameter name="right">
1601 <paramtype>Right &amp;</paramtype>
1602 </parameter>
1603 </function>
1604 <function name="operator-=">
1605 <type><emphasis>unspecified</emphasis></type>
1606 <template>
1607 <template-type-parameter name="Left"/>
1608 <template-type-parameter name="Right"/>
1609 </template>
1610 <parameter name="left">
1611 <paramtype>Left const &amp;</paramtype>
1612 </parameter>
1613 <parameter name="right">
1614 <paramtype>Right const &amp;</paramtype>
1615 </parameter>
1616 </function>
1617 <function name="operator&amp;=">
1618 <type><emphasis>unspecified</emphasis></type>
1619 <template>
1620 <template-type-parameter name="Left"/>
1621 <template-type-parameter name="Right"/>
1622 </template>
1623 <parameter name="left">
1624 <paramtype>Left &amp;</paramtype>
1625 </parameter>
1626 <parameter name="right">
1627 <paramtype>Right &amp;</paramtype>
1628 </parameter>
1629 </function>
1630 <function name="operator&amp;=">
1631 <type><emphasis>unspecified</emphasis></type>
1632 <template>
1633 <template-type-parameter name="Left"/>
1634 <template-type-parameter name="Right"/>
1635 </template>
1636 <parameter name="left">
1637 <paramtype>Left &amp;</paramtype>
1638 </parameter>
1639 <parameter name="right">
1640 <paramtype>Right const &amp;</paramtype>
1641 </parameter>
1642 </function>
1643 <function name="operator&amp;=">
1644 <type><emphasis>unspecified</emphasis></type>
1645 <template>
1646 <template-type-parameter name="Left"/>
1647 <template-type-parameter name="Right"/>
1648 </template>
1649 <parameter name="left">
1650 <paramtype>Left const &amp;</paramtype>
1651 </parameter>
1652 <parameter name="right">
1653 <paramtype>Right &amp;</paramtype>
1654 </parameter>
1655 </function>
1656 <function name="operator&amp;=">
1657 <type><emphasis>unspecified</emphasis></type>
1658 <template>
1659 <template-type-parameter name="Left"/>
1660 <template-type-parameter name="Right"/>
1661 </template>
1662 <parameter name="left">
1663 <paramtype>Left const &amp;</paramtype>
1664 </parameter>
1665 <parameter name="right">
1666 <paramtype>Right const &amp;</paramtype>
1667 </parameter>
1668 </function>
1669 <function name="operator|=">
1670 <type><emphasis>unspecified</emphasis></type>
1671 <template>
1672 <template-type-parameter name="Left"/>
1673 <template-type-parameter name="Right"/>
1674 </template>
1675 <parameter name="left">
1676 <paramtype>Left &amp;</paramtype>
1677 </parameter>
1678 <parameter name="right">
1679 <paramtype>Right &amp;</paramtype>
1680 </parameter>
1681 </function>
1682 <function name="operator|=">
1683 <type><emphasis>unspecified</emphasis></type>
1684 <template>
1685 <template-type-parameter name="Left"/>
1686 <template-type-parameter name="Right"/>
1687 </template>
1688 <parameter name="left">
1689 <paramtype>Left &amp;</paramtype>
1690 </parameter>
1691 <parameter name="right">
1692 <paramtype>Right const &amp;</paramtype>
1693 </parameter>
1694 </function>
1695 <function name="operator|=">
1696 <type><emphasis>unspecified</emphasis></type>
1697 <template>
1698 <template-type-parameter name="Left"/>
1699 <template-type-parameter name="Right"/>
1700 </template>
1701 <parameter name="left">
1702 <paramtype>Left const &amp;</paramtype>
1703 </parameter>
1704 <parameter name="right">
1705 <paramtype>Right &amp;</paramtype>
1706 </parameter>
1707 </function>
1708 <function name="operator|=">
1709 <type><emphasis>unspecified</emphasis></type>
1710 <template>
1711 <template-type-parameter name="Left"/>
1712 <template-type-parameter name="Right"/>
1713 </template>
1714 <parameter name="left">
1715 <paramtype>Left const &amp;</paramtype>
1716 </parameter>
1717 <parameter name="right">
1718 <paramtype>Right const &amp;</paramtype>
1719 </parameter>
1720 </function>
1721 <function name="operator^=">
1722 <type><emphasis>unspecified</emphasis></type>
1723 <template>
1724 <template-type-parameter name="Left"/>
1725 <template-type-parameter name="Right"/>
1726 </template>
1727 <parameter name="left">
1728 <paramtype>Left &amp;</paramtype>
1729 </parameter>
1730 <parameter name="right">
1731 <paramtype>Right &amp;</paramtype>
1732 </parameter>
1733 </function>
1734 <function name="operator^=">
1735 <type><emphasis>unspecified</emphasis></type>
1736 <template>
1737 <template-type-parameter name="Left"/>
1738 <template-type-parameter name="Right"/>
1739 </template>
1740 <parameter name="left">
1741 <paramtype>Left &amp;</paramtype>
1742 </parameter>
1743 <parameter name="right">
1744 <paramtype>Right const &amp;</paramtype>
1745 </parameter>
1746 </function>
1747 <function name="operator^=">
1748 <type><emphasis>unspecified</emphasis></type>
1749 <template>
1750 <template-type-parameter name="Left"/>
1751 <template-type-parameter name="Right"/>
1752 </template>
1753 <parameter name="left">
1754 <paramtype>Left const &amp;</paramtype>
1755 </parameter>
1756 <parameter name="right">
1757 <paramtype>Right &amp;</paramtype>
1758 </parameter>
1759 </function>
1760 <function name="operator^=">
1761 <type><emphasis>unspecified</emphasis></type>
1762 <template>
1763 <template-type-parameter name="Left"/>
1764 <template-type-parameter name="Right"/>
1765 </template>
1766 <parameter name="left">
1767 <paramtype>Left const &amp;</paramtype>
1768 </parameter>
1769 <parameter name="right">
1770 <paramtype>Right const &amp;</paramtype>
1771 </parameter>
1772 </function>
1773 <function name="if_else">
1774 <type>typename <classname>proto::result_of::make_expr</classname>&lt;
1775 <classname>proto::tag::if_else_</classname>,
1776 <classname>proto::deduce_domain</classname>,
1777 A0 const &amp;,
1778 A1 const &amp;,
1779 A2 const &amp;
1780 &gt;::type const</type>
1781 <template>
1782 <template-type-parameter name="A0"/>
1783 <template-type-parameter name="A1"/>
1784 <template-type-parameter name="A2"/>
1785 </template>
1786 <parameter name="a0">
1787 <paramtype>A0 const &amp;</paramtype>
1788 </parameter>
1789 <parameter name="a1">
1790 <paramtype>A1 const &amp;</paramtype>
1791 </parameter>
1792 <parameter name="a2">
1793 <paramtype>A2 const &amp;</paramtype>
1794 </parameter>
1795 </function>
1796 </namespace>
1797 </namespace>
1798 <macro name="BOOST_PROTO_DEFINE_OPERATORS" kind="functionlike">
1799 <macro-parameter name="Trait"/>
1800 <macro-parameter name="Domain"/>
1801 <purpose>Defines a complete set of expression template-building operator overloads for use
1802 with non-Proto terminal types.</purpose>
1803 <description>
1804 <para>
1805 With <computeroutput>BOOST_PROTO_DEFINE_OPERATORS()</computeroutput>, it is possible to
1806 non-intrusively adapt an existing (non-Proto) type to be a Proto terminal.
1807 </para>
1808 <para>
1809 <computeroutput>Trait</computeroutput> is the name of a unary Boolean metafunction that returns
1810 true for any types you would like to treat as Proto terminals.
1811 </para>
1812 <para>
1813 <computeroutput>Domain</computeroutput> is the name of the Proto domain associated with
1814 these new Proto terminals. You may use
1815 <computeroutput><classname alt="boost::proto::default_domain">proto::default_domain</classname></computeroutput>
1816 for the <computeroutput>Domain</computeroutput> if you do not wish to associate these terminals
1817 with any domain.
1818 </para>
1819 <para>
1820 <emphasis role="bold">Example:</emphasis>
1821 <programlisting>namespace My {
1822 // A non-Proto terminal type
1823 struct S {};
1824
1825 // A unary Boolean metafunction that returns true for type S
1826 template&lt;typename T&gt; struct IsS : mpl::false_ {};
1827 template&lt;&gt; struct IsS&lt;S&gt; : mpl::true_ {};
1828
1829 // Make S a Proto terminal non-intrusively by defining the
1830 // appropriate operator overloads. This should be in the same
1831 // namespace as S so that these overloads can be found by
1832 // argument-dependent lookup
1833 <macroname>BOOST_PROTO_DEFINE_OPERATORS</macroname>(IsS, proto::default_domain)
1834 }
1835
1836 int main() {
1837 My::S s1, s2;
1838
1839 // OK, this builds a Proto expression template:
1840 s1 + s2;
1841 }</programlisting>
1842 </para>
1843 </description>
1844 </macro>
1845 </header>