Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/named req/CopyAssignable"

From cppreference.com
< cpp‎ | named req
m (Text replace - "{{tdcl list begin" to "{{dcl list begin")
m (Text replace - "{{tdcl list end" to "{{dcl list end")
Line 26: Line 26:
 
{{tdcl list hitem | Expression | Effects}}
 
{{tdcl list hitem | Expression | Effects}}
 
{{tdcl list item | {{c|1=a = v;}} | {{tt|a}} is equivalent to {{tt|v}}, where {{tt|a}} is an instance of {{tt|Type}} and {{tt|v}} is an instance of {{tt|Type}}. {{tt|v}} must be unchanged.}}
 
{{tdcl list item | {{c|1=a = v;}} | {{tt|a}} is equivalent to {{tt|v}}, where {{tt|a}} is an instance of {{tt|Type}} and {{tt|v}} is an instance of {{tt|Type}}. {{tt|v}} must be unchanged.}}
{{tdcl list end}}
+
{{dcl list end}}
 
}}
 
}}
  

Revision as of 01:27, 12 June 2012

Template:cpp/concept/title Template:cpp/concept/sidebar

Specifies that an instance of the type can be copy-assigned (copied).

This concept implies Template:concept.

Requirements

The type must implement the following functions:

Type::operator=

Type& Type::operator=( Type& other );

Type& Type::operator=( const Type& other );
Type& Type::operator=( volatile Type& other );

Type& Type::operator=( const volatile Type& other );
(One of the variants is sufficient)

Copy assignment operator: assigns the contents of other. The internal state of other must not be modified.

The following expressions must have the specified effects:

Template:tdcl list hitemTemplate:tdcl list item

See also

checks if a type has a copy assignment operator
(class template) [edit]