Имеем:
-
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(>=)
У нас нет функторов для:
-
&(адрес) -
*(разыменование) -
[] -
, - побитовые операторы
~,&,|,^,<<,>> -
++(префикс/постфикс)/--(префикс/постфикс) -
sizeof -
static_cast/dynamic_cast/reinterpret_cast/const_cast - c стиль приведения
-
new/new[]/delete/delete[] - все операторы указателей функций-членов
- все составные операторы присваивания.
Есть ли причина, по которой у нас нет таких, или это просто недосмотр?