BARfly Help - BAR Implementation File Reference - Expressions

  L-value status gain and loss

Various operators will give or take away the L-value status of the resulting expression.  The following table summarizes how L-value status changes:

Operator Description Result
[ ] Array/Pointer indexed dereference Gain
. Structure object member selector Gain
-> Pointer-to-Structure member selector Gain
debugmsg Output text to log Loss
sizeof Size of expression Loss
new Memory buffer allocation Loss
newchild Child memory buffer allocation Loss
getparent Get pointer to parent node Loss
getnext Get pointer to next node Loss
getprevious Get pointer to previous node Loss
getchild Get pointer to child node Loss
getsize Get byte size of node Loss
getbitsize Get bit size of node Loss
getuid Get construct UID of node Loss
getname Get construct name of node Loss
getuidfromname Get construct UID when given name Loss
getchildcount Get child count of node Loss
getrelpos Get relative position of node Loss
gethlevel Get hierarchy level of node Loss
getnodetype Get node type of node Loss
(all mathematical unary operators) (various) Loss
(all mathematical binary operators) (various) Loss
++ Prefix increment Loss
-- Prefix decrement Loss
~ Bitwise NOT Loss
! Logical NOT Loss
- Negate Loss
* Pointer dereference Gain
& Address-of Loss
(type) Typecast Loss
* Multiply Loss
/ Divide Loss
% Modulo Loss
+ Add Loss
- Subtract Loss
<< Shift left Loss
>> Shift right Loss
>= Relational greater than or equal to Loss
<= Relational less than or equal to Loss
> Relational greater than Loss
< Relational less than Loss
== Relational equal to Loss
!= Relational not equal to Loss
& Bitwise AND Loss
^ Bitwise XOR Loss
| Bitwise OR Loss
&& Logical AND Loss
|| Logical OR Loss
= Assignment Loss
+= Addition assignment Loss
-= Subtraction assignment Loss
*= Multiplication assignment Loss
/= Division assignment Loss
%= Modulo assignment Loss
&= Bitwise AND assignment Loss
^= Bitwise XOR assignment Loss
|= Bitwise OR assignment Loss
<<= Shift left assignment Loss
>>= Shift right assignment Loss
, Argument separator Loss
(function) Return from function call Loss


  See also:  [Final expression type result] [L-value status gain and loss]
[Overly complex expressions] [Limitations on pointer usage] [Structure member dereference:  bit scan blocks]


BARfly Help Copyright © 2009 Christopher Allen