2 <concept name=
"Assignable" category=
"Utility"><!--
3 Based on concepts from the SGI Standard Template Library documentation:
4 Copyright (c) 1996-1999
5 Silicon Graphics Computer Systems, Inc.
8 Hewlett-Packard Company
10 Copyright 2000-2001 University of Notre Dame du Lac.
11 Copyright 2001-2002 Indiana University.
12 Some concepts based on versions from the MTL draft manual and Boost Graph
13 and Property Map documentation:
14 Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000
16 <param name=
"X" role=
"assignable-type"/>
18 <models-sentence>The type
<arg num=
"1"/> must be a model of
<self/>.
</models-sentence>
21 <para>Assignable types must have copy constructors,
22 <code>operator=
</code> for assignment, and the
<code>swap()
</code>
23 function defined.
</para>
26 <notation variables=
"x y">
32 <refines const=
"no" concept=
"CopyConstructible"/>
34 <valid-expression name=
"Assignment">
36 <sample-value><reference-to><type name=
"X"/></reference-to></sample-value>
37 <sample-value><const><reference-to><type name=
"X"/></reference-to></const></sample-value>
40 <require-same-type testable=
"yes">
41 <reference-to><type name=
"X"/></reference-to>
44 <semantics>Require
<code>operator=
</code></semantics>
47 <valid-expression name=
"Swap">
48 <apply-function name=
"swap">
49 <sample-value><reference-to><type name=
"X"/></reference-to></sample-value>
50 <sample-value><reference-to><type name=
"X"/></reference-to></sample-value>
52 <return-type><require-same-type><type name=
"void"/></require-same-type></return-type>
53 <semantics>Require
<code>swap()
</code> function
</semantics>