1<?xml version="1.0"?> 2<concept name="CopyConstructible" category="Utility"><!-- 3Based on concepts from the SGI Standard Template Library documentation: 4Copyright (c) 1996-1999 5Silicon Graphics Computer Systems, Inc. 6 7Copyright (c) 1994 8Hewlett-Packard Company 9--><!-- 10Copyright 2000-2001 University of Notre Dame du Lac. 11Copyright 2001-2002 Indiana University. 12Some concepts based on versions from the MTL draft manual and Boost Graph 13and Property Map documentation: 14Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000 15--> 16 <param name="X" role="copy-constructible-type"/> 17 18 <models-sentence>The type <arg num="1"/> must be a model of <self/>.</models-sentence> 19 20 <description> 21 <para>Copy constructible types must be able to be constructed from another 22 member of the type.</para> 23 </description> 24 25 <notation variables="x y"> 26 <sample-value> 27 <type name="X"/> 28 </sample-value> 29 </notation> 30 31 <valid-expression name="Copy construction"> 32 <construct template-parameters=""> 33 <type name="X"/> 34 <sample-value><const><reference-to><type name="X"/></reference-to></const></sample-value> 35 </construct> 36 <return-type> 37 <require-same-type testable="yes"> 38 <type name="X"/> 39 </require-same-type> 40 </return-type> 41 <semantics>Require copy constructor.</semantics> 42 </valid-expression> 43 44 <example-model> 45 <type name="int"/> 46 </example-model> 47</concept> 48