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 & 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 << operator. </purpose> 49 </struct> 50 <struct name="shift_right"> 51 <purpose>Tag type for the binary >> 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 < operator. </purpose> 70 </struct> 71 <struct name="greater"> 72 <purpose>Tag type for the binary > operator. </purpose> 73 </struct> 74 <struct name="less_equal"> 75 <purpose>Tag type for the binary <= operator. </purpose> 76 </struct> 77 <struct name="greater_equal"> 78 <purpose>Tag type for the binary >= 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 && operator. </purpose> 91 </struct> 92 <struct name="bitwise_and"> 93 <purpose>Tag type for the binary & 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 ->* 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 <<= operator. </purpose> 112 </struct> 113 <struct name="shift_right_assign"> 114 <purpose>Tag type for the binary >>= 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 &= 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