ignment operator. This class
&quot;just works&quot; for scalar types, but has to be explicitly
specialised for class/struct types that also happen to have a
trivial assignment operator. In other words if <i>has_trivial_assign</i>
gives the wrong answer, it will give the &quot;safe&quot; wrong
answer - that trivial assignment is not allowable.</p>

<p>The code for an optimised version of copy that uses <font
size="2" face="Courier New">memcpy</font> where appropriate is
given in listing 1. The code begins by