Lines Matching defs:lvalue
29 // basic.lval/1 Every expression is either an lvalue or an rvalue.
34 // an lvalue.
39 static_assert(__is_lvalue_expr(expr), "should be an lvalue"); \
43 static_assert(!__is_rvalue_expr(expr), "should be an lvalue"); \
140 // (8.3.2, 8.5.3), ... the expression is an lvalue.
149 // 5.1/2 A string literal is an lvalue; all other
218 // expression. ...The result is an lvalue if the entity is
253 // entity denoted by the identifier. The result is an lvalue if
266 // member. The result is an lvalue if the member is a static
280 // expr.call/10: A function call is an lvalue if and only if the
303 // member. The result is an lvalue if the member is a function or
314 // enumeration or integral type. The result is an lvalue of type
352 // an lvalue;.... Otherwise, one of the following rules applies.
357 // E1.E2 is an lvalue; ...
362 // - If E2 is a non-static data member, ... If E1 is an lvalue,
363 // then E1.E2 is an lvalue...
364 Class lvalue;
365 ASSERT_LVALUE(lvalue.dataMember);
369 // is an lvalue
373 // then E1.E2 is not an lvalue.
377 // expression E1.E2 is not an lvalue. The type of E1.E2 is T.
379 ASSERT_RVALUE(lvalue.Enumerator);
400 // lvalue of a complete class type, and the result is an lvalue of
409 // lvalue for the unique B sub-object of the D object referred
422 // (referred) to by v, the result is a pointer (an lvalue referring)
428 // result is a pointer (an lvalue referring) to the T sub-object of
431 // The mention of "lvalue" in the text above appears to be a
438 // expr.typeid/1: The result of a typeid expression is an lvalue...
447 // to type T. If T is a reference type, the result is an lvalue;
458 // an lvalue
469 // an lvalue referring to the object or function to which the
482 // modifiable lvalue.... The value is the new value of the
483 // operand; it is an lvalue.
490 // is of type T. The result is an lvalue if T is a reference type,
500 // expr.mptr.oper/6: The result of a .* expression is an lvalue
501 // only if its first operand is an lvalue and its second operand
506 Class lvalue;
507 ASSERT_LVALUE(lvalue.*(&Class::dataMember));
508 //ASSERT_RVALUE(lvalue.*(&Class::NonstaticMemberFunction));
510 // (cont'd)...The result of an ->* expression is an lvalue only
514 ASSERT_LVALUE((&lvalue)->*(&Class::dataMember));
515 //ASSERT_RVALUE((&lvalue)->*(&Class::NonstaticMemberFunction));
545 // lvalue.
562 // which group right-to-left. All require a modifiable lvalue as
566 // assignment has taken place; the result is an lvalue.
582 // discarded... result is an lvalue if its right operand is.
586 static_assert(__is_lvalue_expr(x,x), "expected an lvalue");
588 static_assert(__is_lvalue_expr(1,x), "expected an lvalue");