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/tags.hpp">
10  <para>Contains the tags for all the overloadable operators in C++ </para>
11  <namespace name="boost">
12    <namespace name="proto">
13      <namespace name="tag">
14        <struct name="terminal">
15          <purpose>Tag type for terminals; aka, leaves in the expression tree. </purpose>
16        </struct>
17        <struct name="unary_plus">
18          <purpose>Tag type for the unary + operator. </purpose>
19        </struct>
20        <struct name="negate">
21          <purpose>Tag type for the unary - operator. </purpose>
22        </struct>
23        <struct name="dereference">
24          <purpose>Tag type for the unary * operator. </purpose>
25        </struct>
26        <struct name="complement">
27          <purpose>Tag type for the unary ~ operator. </purpose>
28        </struct>
29        <struct name="address_of">
30          <purpose>Tag type for the unary &amp; operator. </purpose>
31        </struct>
32        <struct name="logical_not">
33          <purpose>Tag type for the unary ! operator. </purpose>
34        </struct>
35        <struct name="pre_inc">
36          <purpose>Tag type for the unary prefix ++ operator. </purpose>
37        </struct>
38        <struct name="pre_dec">
39          <purpose>Tag type for the unary prefix -- operator. </purpose>
40        </struct>
41        <struct name="post_inc">
42          <purpose>Tag type for the unary postfix ++ operator. </purpose>
43        </struct>
44        <struct name="post_dec">
45          <purpose>Tag type for the unary postfix -- operator. </purpose>
46        </struct>
47        <struct name="shift_left">
48          <purpose>Tag type for the binary &lt;&lt; operator. </purpose>
49        </struct>
50        <struct name="shift_right">
51          <purpose>Tag type for the binary &gt;&gt; operator. </purpose>
52        </struct>
53        <struct name="multiplies">
54          <purpose>Tag type for the binary * operator. </purpose>
55        </struct>
56        <struct name="divides">
57          <purpose>Tag type for the binary / operator. </purpose>
58        </struct>
59        <struct name="modulus">
60          <purpose>Tag type for the binary % operator. </purpose>
61        </struct>
62        <struct name="plus">
63          <purpose>Tag type for the binary + operator. </purpose>
64        </struct>
65        <struct name="minus">
66          <purpose>Tag type for the binary - operator. </purpose>
67        </struct>
68        <struct name="less">
69          <purpose>Tag type for the binary &lt; operator. </purpose>
70        </struct>
71        <struct name="greater">
72          <purpose>Tag type for the binary &gt; operator. </purpose>
73        </struct>
74        <struct name="less_equal">
75          <purpose>Tag type for the binary &lt;= operator. </purpose>
76        </struct>
77        <struct name="greater_equal">
78          <purpose>Tag type for the binary &gt;= operator. </purpose>
79        </struct>
80        <struct name="equal_to">
81          <purpose>Tag type for the binary == operator. </purpose>
82        </struct>
83        <struct name="not_equal_to">
84          <purpose>Tag type for the binary != operator. </purpose>
85        </struct>
86        <struct name="logical_or">
87          <purpose>Tag type for the binary || operator. </purpose>
88        </struct>
89        <struct name="logical_and">
90          <purpose>Tag type for the binary &amp;&amp; operator. </purpose>
91        </struct>
92        <struct name="bitwise_and">
93          <purpose>Tag type for the binary &amp; operator. </purpose>
94        </struct>
95        <struct name="bitwise_or">
96          <purpose>Tag type for the binary | operator. </purpose>
97        </struct>
98        <struct name="bitwise_xor">
99          <purpose>Tag type for the binary ^ operator. </purpose>
100        </struct>
101        <struct name="comma">
102          <purpose>Tag type for the binary , operator. </purpose>
103        </struct>
104        <struct name="mem_ptr">
105          <purpose>Tag type for the binary -&gt;* operator. </purpose>
106        </struct>
107        <struct name="assign">
108          <purpose>Tag type for the binary = operator. </purpose>
109        </struct>
110        <struct name="shift_left_assign">
111          <purpose>Tag type for the binary &lt;&lt;= operator. </purpose>
112        </struct>
113        <struct name="shift_right_assign">
114          <purpose>Tag type for the binary &gt;&gt;= operator. </purpose>
115        </struct>
116        <struct name="multiplies_assign">
117          <purpose>Tag type for the binary *= operator. </purpose>
118        </struct>
119        <struct name="divides_assign">
120          <purpose>Tag type for the binary /= operator. </purpose>
121        </struct>
122        <struct name="modulus_assign">
123          <purpose>Tag type for the binary = operator. </purpose>
124        </struct>
125        <struct name="plus_assign">
126          <purpose>Tag type for the binary += operator. </purpose>
127        </struct>
128        <struct name="minus_assign">
129          <purpose>Tag type for the binary -= operator. </purpose>
130        </struct>
131        <struct name="bitwise_and_assign">
132          <purpose>Tag type for the binary &amp;= operator. </purpose>
133        </struct>
134        <struct name="bitwise_or_assign">
135          <purpose>Tag type for the binary |= operator. </purpose>
136        </struct>
137        <struct name="bitwise_xor_assign">
138          <purpose>Tag type for the binary ^= operator. </purpose>
139        </struct>
140        <struct name="subscript">
141          <purpose>Tag type for the binary subscript operator. </purpose>
142        </struct>
143        <struct name="if_else_">
144          <purpose>Tag type for the ternary ?: conditional operator. </purpose>
145        </struct>
146        <struct name="function">
147          <purpose>Tag type for the n-ary function call operator. </purpose>
148        </struct>
149      </namespace>
150    </namespace>
151  </namespace>
152</header>
153