Assignable
Assignable
Category: utilities
Component type: concept
Description
A type is Assignable if it is possible to copy objects of that type and
to assign values to variables.
Refinement of
Associated types
Notation
X
A type that is a model of Assignable
x, y
Object of type X
Definitions
Valid expressions
Name
Expression
Type requirements
Return type
Copy constructor
X(x)
X
Copy constructor
X x(y);
X x = y;
Assignment
x = y [1]
X&
Swap
swap(x,y)
void
Expression semantics
Name
Expression
Precondition
Semantics
Postcondition
Copy constructor
X(x)
X(x) is a copy of x [2]
Copy constructor
X(x)
X(x) is a copy of x [2]
Copy constructor
X x(y);
X x = y;
x is a copy of y [2]
Assignment
x = y [1]
x is a copy of y [2]
Swap
swap(x,y)
Equivalent to
{
X tmp = x;
x = y;
y = tmp;
}
Complexity guarantees
Invariants
Models
int
Notes
[1]
One implication of this requirement is that a const type is not Assignable.
For example, const int is not Assignable: if x is declared to be
of type const int, then x = 7 is illegal. Similarly, the type
pair<const int, int> is not Assignable.
[2]
The reason this says "x is a copy of y", rather than
"x == y", is that operator== is not necessarily defined: equality
is not a requirement of Assignable. If the type X is
EqualityComparable as well as Assignable, then a copy of x
should compare equal to x.
See also
DefaultConstructible
Copyright ©
1999 Silicon Graphics, Inc. All Rights Reserved.
TrademarkInformation
Wyszukiwarka
Podobne podstrony:
schedule and assign workcD7C4DFCisco2 Assignmentsassignmenttypeassignmenttypeassignments view done textWritten assignmentsassignmenttypeassignmenttypeassignmentManage?itAssignmentassignmenttypeschedule and assign work?D813F6Special Assignment?byassignmenttypeassignmenttypeassignmenttypeassignmenttypewięcej podobnych podstron