Счастливые ребята.
Я работал над последовательностью препроцессора С++ (используя boost), чтобы помочь мне в создании функторов, основанных на операторах. Я до сих пор завершил исходный код, однако у меня возникли проблемы с поиском наиболее подходящих ключевых слов, определяющих эти функторы.
В частности, после рассмотрения проекта С++ 0x я не смог найти наиболее подходящие (уникальные) имена для следующих операторов:
- → и. которые вызываются в проекте: операторы-члены класса
- → * и. *, которые оба вызываются: указатель на операторы-члены
Как вы думаете, вы можете помочь мне назвать их лучше?
Ссылки, которые я использовал для:
- Проект С++ 0x (можно найти в Интернете)
- Заголовок boost/proto/operator.hpp, который включал большинство перегружаемых операторов.
- Операторы на C и С++ из Википедии, в которых также были указаны следующие имена
- . структура ссылки
- → разыменование структуры
- → * и. * указатели элементов
Вот список, который я создал до сих пор. Любые другие предложения будут высоко оценены.
Symbol Keyword Description
++ , post_increment , post increment
-- , post_decrement , post decrement
++ , pre_increment , pre increment
-- , pre_decrement , pre decrement
+ , unary_plus , additive promotion
- , unary_minus , additive inversion
! , negate , logical negation
~ , complement , complement
* , indirect , indirection
& , address_of , address of
+ , add , addition
- , subtract , subtraction
* , multiplies , multiplication
/ , divides , division
% , modulus , modulo
== , equal , equality
!= , inequal , inequality
> , greater , greater than
< , less , less than
>= , greater_equal , greater or equal than
<= , less_equal , less or equal than
&& , logical_and , logical and
|| , logical_or , logical or
& , bitwise_and , bitwise and
| , bitwise_or , bitwise inclusive or
^ , bitwise_xor , bitwise exclusive or
<< , left_shift , left shift
>> , right_shift , right shift
+= , add_assign , addition assignment
-= , subtract_assign , subtractions assignment
*= , multiplies_assign , multiplication assignment
/= , divides_assign , division assignment
%= , modulus_assign , modulo assignment
>>= , right_shift_assign , right shift assignment
<<= , left_shift_assign , left shift assignment
&= , bitwise_and_assign , bitwise and assignment
^= , bitwise_or_assign , bitwise exclusive or assignment
|= , bitwise_or_assign , bitwise inclusive or assignment
->* , arrow_indirect , pointer to member
, , comma , comma
= , assign , assignment
[] , subscript , subscription
-> , arrow , class member
. , dot , class member
.* , dot_indirect , pointer to member