TAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Operators.hpp
Go to the documentation of this file.
1 
26 #pragma once
27 
28 namespace TAP {
36 ArgumentConstraint<ConstraintType::One> operator^(Argument& left, Argument& right);
37 
45 ArgumentConstraint<ConstraintType::One> operator^(ArgumentConstraint<ConstraintType::One> left, Argument& right);
46 
54 ArgumentConstraint<ConstraintType::One> operator^(Argument& left, ArgumentConstraint<ConstraintType::One>& right);
55 
63 ArgumentConstraint<ConstraintType::Any> operator|(Argument& left, Argument& right);
64 
72 ArgumentConstraint<ConstraintType::Any> operator|(ArgumentConstraint<ConstraintType::Any> left, Argument& right);
73 
81 ArgumentConstraint<ConstraintType::Any> operator|(Argument& left, ArgumentConstraint<ConstraintType::Any>& right);
82 
90 ArgumentConstraint<ConstraintType::All> operator&(Argument& left, Argument& right);
91 
99 ArgumentConstraint<ConstraintType::All> operator&(ArgumentConstraint<ConstraintType::All> left, Argument& right);
100 
108 ArgumentConstraint<ConstraintType::All> operator&(Argument& left, ArgumentConstraint<ConstraintType::All>& right);
109 
116 ArgumentConstraint<ConstraintType::None> operator~(Argument& arg);
117 
124 template<ConstraintType CType>
125 ArgumentConstraint<ConstraintType::None> operator~(ArgumentConstraint<CType>& arg);
126 
132 Argument& operator-(Argument& arg);
133 
139 template<ConstraintType CType>
140 ArgumentConstraint<CType>& operator-(ArgumentConstraint<CType>& arg);
141 
147 Argument& operator+(Argument& arg);
148 
154 Argument&& operator+(Argument&& arg);
155 
161 template<ConstraintType CType>
162 ArgumentConstraint<CType>& operator+(ArgumentConstraint<CType>& arg);
163 
169 template<ConstraintType CType>
170 ArgumentConstraint<CType>&& operator+(ArgumentConstraint<CType>&& arg);
171 
172 }
173 
174 
ArgumentConstraint< ConstraintType::One > operator^(Argument &left, Argument &right)
Joins two arguments together using the ConstraintType::One operator.
ArgumentConstraint< ConstraintType::All > operator&(Argument &left, Argument &right)
Joins two arguments together using the ConstraintType::All operator.
Argument & operator-(Argument &arg)
Makes an argument optional.
Argument & operator+(Argument &arg)
Makes an argument required.
ArgumentConstraint< ConstraintType::None > operator~(Argument &arg)
"Negates" an argument using the ConstraintType::None operator.
ArgumentConstraint< ConstraintType::Any > operator|(Argument &left, Argument &right)
Joins two arguments together using the ConstraintType::Any operator.