A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://sgistl.github.io/Assignable.html below:

Assignable

Assignable 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 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 alsoDefaultConstructible STL Main Page

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4