1
<?xml version=
"1.0" encoding=
"utf-8"?>
3 Copyright 2012 Eric Niebler
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)
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>
17 <struct name=
"unary_plus">
18 <purpose>Tag type for the unary + operator.
</purpose>
20 <struct name=
"negate">
21 <purpose>Tag type for the unary - operator.
</purpose>
23 <struct name=
"dereference">
24 <purpose>Tag type for the unary * operator.
</purpose>
26 <struct name=
"complement">
27 <purpose>Tag type for the unary ~ operator.
</purpose>
29 <struct name=
"address_of">
30 <purpose>Tag type for the unary
& operator.
</purpose>
32 <struct name=
"logical_not">
33 <purpose>Tag type for the unary ! operator.
</purpose>
35 <struct name=
"pre_inc">
36 <purpose>Tag type for the unary prefix ++ operator.
</purpose>
38 <struct name=
"pre_dec">
39 <purpose>Tag type for the unary prefix -- operator.
</purpose>
41 <struct name=
"post_inc">
42 <purpose>Tag type for the unary postfix ++ operator.
</purpose>
44 <struct name=
"post_dec">
45 <purpose>Tag type for the unary postfix -- operator.
</purpose>
47 <struct name=
"shift_left">
48 <purpose>Tag type for the binary
<< operator.
</purpose>
50 <struct name=
"shift_right">
51 <purpose>Tag type for the binary
>> operator.
</purpose>
53 <struct name=
"multiplies">
54 <purpose>Tag type for the binary * operator.
</purpose>
56 <struct name=
"divides">
57 <purpose>Tag type for the binary / operator.
</purpose>
59 <struct name=
"modulus">
60 <purpose>Tag type for the binary % operator.
</purpose>
63 <purpose>Tag type for the binary + operator.
</purpose>
66 <purpose>Tag type for the binary - operator.
</purpose>
69 <purpose>Tag type for the binary
< operator.
</purpose>
71 <struct name=
"greater">
72 <purpose>Tag type for the binary
> operator.
</purpose>
74 <struct name=
"less_equal">
75 <purpose>Tag type for the binary
<= operator.
</purpose>
77 <struct name=
"greater_equal">
78 <purpose>Tag type for the binary
>= operator.
</purpose>
80 <struct name=
"equal_to">
81 <purpose>Tag type for the binary == operator.
</purpose>
83 <struct name=
"not_equal_to">
84 <purpose>Tag type for the binary != operator.
</purpose>
86 <struct name=
"logical_or">
87 <purpose>Tag type for the binary || operator.
</purpose>
89 <struct name=
"logical_and">
90 <purpose>Tag type for the binary
&& operator.
</purpose>
92 <struct name=
"bitwise_and">
93 <purpose>Tag type for the binary
& operator.
</purpose>
95 <struct name=
"bitwise_or">
96 <purpose>Tag type for the binary | operator.
</purpose>
98 <struct name=
"bitwise_xor">
99 <purpose>Tag type for the binary ^ operator.
</purpose>
101 <struct name=
"comma">
102 <purpose>Tag type for the binary , operator.
</purpose>
104 <struct name=
"mem_ptr">
105 <purpose>Tag type for the binary -
>* operator.
</purpose>
107 <struct name=
"assign">
108 <purpose>Tag type for the binary = operator.
</purpose>
110 <struct name=
"shift_left_assign">
111 <purpose>Tag type for the binary
<<= operator.
</purpose>
113 <struct name=
"shift_right_assign">
114 <purpose>Tag type for the binary
>>= operator.
</purpose>
116 <struct name=
"multiplies_assign">
117 <purpose>Tag type for the binary *= operator.
</purpose>
119 <struct name=
"divides_assign">
120 <purpose>Tag type for the binary /= operator.
</purpose>
122 <struct name=
"modulus_assign">
123 <purpose>Tag type for the binary = operator.
</purpose>
125 <struct name=
"plus_assign">
126 <purpose>Tag type for the binary += operator.
</purpose>
128 <struct name=
"minus_assign">
129 <purpose>Tag type for the binary -= operator.
</purpose>
131 <struct name=
"bitwise_and_assign">
132 <purpose>Tag type for the binary
&= operator.
</purpose>
134 <struct name=
"bitwise_or_assign">
135 <purpose>Tag type for the binary |= operator.
</purpose>
137 <struct name=
"bitwise_xor_assign">
138 <purpose>Tag type for the binary ^= operator.
</purpose>
140 <struct name=
"subscript">
141 <purpose>Tag type for the binary subscript operator.
</purpose>
143 <struct name=
"if_else_">
144 <purpose>Tag type for the ternary ?: conditional operator.
</purpose>
146 <struct name=
"function">
147 <purpose>Tag type for the n-ary function call operator.
</purpose>