We have:
std::plus(+)std::minus(-)std::multiplies(*)std::divides(/)std::modulus(%)std::negate(-)std::logical_or(||)std::logical_not(!)std::logical_and(&&)std::equal_to(==)std::not_equal_to(!=)std::less(<)std::greater(>)std::less_equal(<=)std::greater_equal(>=)
We don't have functors for:
&(address-of)*(dereference)[],- bitwise operators
~,&,|,^,<<,>> ++(prefix/postfix) /--(prefix/postfix)sizeofstatic_cast/dynamic_cast/reinterpret_cast/const_cast- c style casts
new/new[]/delete/delete[]- all of the member function pointer operators
- all of the compound assignment operators.
Is there a reason we don't have those, or is it just an oversight?