С праздником ребята.
Я работал над последовательностью препроцессора C ++ (используя boost), чтобы помочь мне в генерации функторов на основе операторов. Я до сих пор завершил источник, однако у меня были проблемы с поиском наиболее подходящих ключевых слов, идентифицирующих эти функторы.
В частности, после просмотра черновика C ++ 0x мне не удалось найти наиболее подходящие (уникальные) имена для следующих операторов:
- -> и. которые оба называются в проекте: операторы класса
- -> * и. *, Которые оба называются: указатель на операторы-члены
Как вы думаете, вы можете помочь мне назвать их лучше?
Ссылки, которые я использовал для:
- Черновик C ++ 0x (можно найти онлайн)
- Заголовок "boost / proto / operator.hpp" , который включает большинство перегружаемых операторов.
- Операторы в C и 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