36 ArgumentConstraint<ConstraintType::One>
operator^(Argument& left, Argument& right);
45 ArgumentConstraint<ConstraintType::One>
operator^(ArgumentConstraint<ConstraintType::One> left, Argument& right);
54 ArgumentConstraint<ConstraintType::One>
operator^(Argument& left, ArgumentConstraint<ConstraintType::One>& right);
63 ArgumentConstraint<ConstraintType::Any>
operator|(Argument& left, Argument& right);
72 ArgumentConstraint<ConstraintType::Any>
operator|(ArgumentConstraint<ConstraintType::Any> left, Argument& right);
81 ArgumentConstraint<ConstraintType::Any>
operator|(Argument& left, ArgumentConstraint<ConstraintType::Any>& right);
90 ArgumentConstraint<ConstraintType::All>
operator&(Argument& left, Argument& right);
99 ArgumentConstraint<ConstraintType::All>
operator&(ArgumentConstraint<ConstraintType::All> left, Argument& right);
108 ArgumentConstraint<ConstraintType::All>
operator&(Argument& left, ArgumentConstraint<ConstraintType::All>& right);
116 ArgumentConstraint<ConstraintType::None>
operator~(Argument& arg);
124 template<Constra
intType CType>
125 ArgumentConstraint<ConstraintType::None>
operator~(ArgumentConstraint<CType>& arg);
139 template<Constra
intType CType>
140 ArgumentConstraint<CType>&
operator-(ArgumentConstraint<CType>& arg);
161 template<Constra
intType CType>
162 ArgumentConstraint<CType>&
operator+(ArgumentConstraint<CType>& arg);
169 template<Constra
intType CType>
170 ArgumentConstraint<CType>&&
operator+(ArgumentConstraint<CType>&& arg);
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.