Namespaces
Variants
Views
Actions

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

From cppreference.com
< cpp‎ | named req
m (r2.7.3) (Robot: Adding de, es, fr, it, ja, pt, ru, zh)
m (Shorten template names. Use {{lc}} where appropriate.)
Line 10: Line 10:
 
The type must implement the following functions:
 
The type must implement the following functions:
  
{{member | 1={{dcl small|Type::}}operator= | 2=
+
{{member | 1={{dsc small|Type::}}operator= | 2=
  
 
{{ddcl | notes={{mark|One of the variants is sufficient}} | 1=
 
{{ddcl | notes={{mark|One of the variants is sufficient}} | 1=
Line 23: Line 23:
 
The following expressions must have the specified effects:
 
The following expressions must have the specified effects:
  
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list hitem | Expression | Effects}}
+
{{dsc hitem | Expression | Effects}}
{{dcl 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.}}
+
{{dsc | {{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.}}
{{dcl list end}}
+
{{dsc end}}
 
}}
 
}}
  
 
===See also===
 
===See also===
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list template | cpp/types/dcl list is_copy_assignable}}
+
{{dsc inc | cpp/types/dcl list is_copy_assignable}}
{{dcl list end}}
+
{{dsc end}}
  
 
[[de:cpp/concept/CopyAssignable]]
 
[[de:cpp/concept/CopyAssignable]]

Revision as of 18:35, 31 May 2013

Template:cpp/concept/title Template:cpp/concept/navbar

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:

Expression Effects
a = v; a is equivalent to v, where a is an instance of Type and v is an instance of Type. v must be unchanged.

See also

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