<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<style type="text/css">

body { color: #000000; background-color: #FFFFFF; }
del { text-decoration: line-through; color: #8B0040; }
ins { text-decoration: underline; color: #005100; }

p.example { margin-left: 2em; }
pre.example { margin-left: 2em; }
div.example { margin-left: 2em; }

code.extract { background-color: #F5F6A2; }
pre.extract { margin-left: 2em; background-color: #F5F6A2;
  border: 1px solid #E1E28E; }

p.function { }
.attribute { margin-left: 2em; }
.attribute dt { float: left; font-style: italic;
  padding-right: 1ex; }
.attribute dd { margin-left: 0em; }

blockquote.std { color: #000000; background-color: #F1F1F1;
  border: 1px solid #D1D1D1;
  padding-left: 0.5em; padding-right: 0.5em; }
blockquote.stddel { text-decoration: line-through;
  color: #000000; background-color: #FFEBFF;
  border: 1px solid #ECD7EC;
  padding-left: 0.5empadding-right: 0.5em; ; }

blockquote.stdins { text-decoration: underline;
  color: #000000; background-color: #C8FFC8;
  border: 1px solid #B3EBB3; padding: 0.5em; }

table { border: 1px solid black; border-spacing: 0px;
  margin-left: auto; margin-right: auto; }
th { text-align: left; vertical-align: top;
  padding-left: 0.8em; border: none; }
td { text-align: left; vertical-align: top;
  padding-left: 0.8em; border: none; }

</style>

<title>Dynarray Semi-Editorial Issues</title>
</head>

<body>
<h1>Dynarray Semi-Editorial Issues</h1>

<p>
ISO/IEC JTC1 SC22 WG21 N4050 - 2014-05-26
</p>

<p>
Lawrence Crowl, Lawrence@Crowl.org
</p>


<h2>Contents</h2>

<p>
<a href="#Introduction">Introduction</a><br>
<a href="#Wording">Wording changes</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#dynarray.overview">23.3.4.1 Class template <code>dynarray</code> overview [dynarray.overview]</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#dynarray.cons">23.3.4.2 <code>dynarray</code> constructor and destructor [dynarray.cons]</a><br>
</p>


<h2><a name="Introduction">Introduction</a></h2>

<p>
<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3691.pdf">
N3691 Working Draft, Standard for Programming Language C++</a>
had some semi-editorial issues
and hence
<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3820.html">
N3820 Working Draft, Technical Specification &mdash; Array Extensions</a>
has them as well.
</p>


<h2><a name="Wording">Wording changes</a></h2>

<p>
The proposed wording changes are relative to
<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3820.html">
N3820 Working Draft, Technical Specification &mdash; Array Extensions</a>).
</p>


<h3><a name="dynarray.overview">23.3.4.1 Class template <code>dynarray</code> overview [dynarray.overview]</a></h3>

<p>
Relational operators cannot be constant-time complexity.
In the third paragraph, edit as follows.
</p>

<blockquote class="std">
<p>
All operations except construction, destruction,
<ins>relational operators,</ins> and fill
shall have constant-time complexity. 
</p>
</blockquote>


<h3><a name="dynarray.cons">23.3.4.2 <code>dynarray</code> constructor and destructor [dynarray.cons]</a></h3>

<p>
The specification for the <code>initializer_list</code> constructor
is missing.
Before the allocator variants of the constructors,
add the following specification.
</p>

<blockquote class="stdins">

<dl>
<dt><code>dynarray(initializer_list&lt;T&gt; il)</code></dt>
<dd>

<p>
<i>Requires:</i>
<code>T</code> shall meet the <code>CopyConstructible</code> requirements.
</p>

<p>
<i>Effects:</i>
Allocates storage for <code>distance(il.begin(), il.end())</code> elements.
Copies the contents of <code>il</code> into the <code>dynarray</code>. 
May or may not invoke the global <code>operator new</code>.
</p>

</dd>
</dl>

</blockquote> 


</body></html>
