<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<link rel=File-List href="Requirements%20for%20Functions_files/filelist.xml">
<title>Some Proposed Improvements to the Presentation of Requirements for
Functions</title>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PostalCode"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="address"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="country-region"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="Street"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Alan Talbot</o:Author>
  <o:LastAuthor>Alan Talbot</o:LastAuthor>
  <o:Revision>2</o:Revision>
  <o:TotalTime>15</o:TotalTime>
  <o:LastPrinted>2006-11-03T19:01:00Z</o:LastPrinted>
  <o:Created>2006-11-03T19:02:00Z</o:Created>
  <o:LastSaved>2006-11-03T19:02:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>1224</o:Words>
  <o:Characters>6980</o:Characters>
  <o:Company>gdt</o:Company>
  <o:Lines>58</o:Lines>
  <o:Paragraphs>16</o:Paragraphs>
  <o:CharactersWithSpaces>8188</o:CharactersWithSpaces>
  <o:Version>11.6568</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:Compatibility>
   <w:SelectEntireFieldWithStartOrEnd/>
   <w:UseWord2002TableStyleRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
 </w:LatentStyles>
</xml><![endif]--><!--[if !mso]><object
 classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
<style>
st1\:*{behavior:url(#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:NimbusMonL-Regu;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:0;
	mso-generic-font-family:auto;
	mso-font-format:other;
	mso-font-pitch:auto;
	mso-font-signature:3 0 0 0 1 0;}
@font-face
	{font-family:NimbusRomNo9L-Regu;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:0;
	mso-generic-font-family:auto;
	mso-font-format:other;
	mso-font-pitch:auto;
	mso-font-signature:3 0 0 0 1 0;}
@font-face
	{font-family:NimbusRomNo9L-ReguItal;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:0;
	mso-generic-font-family:auto;
	mso-font-format:other;
	mso-font-pitch:auto;
	mso-font-signature:3 0 0 0 1 0;}
@font-face
	{font-family:NimbusRomNo9L-Medi;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:0;
	mso-generic-font-family:auto;
	mso-font-format:other;
	mso-font-pitch:auto;
	mso-font-signature:3 0 0 0 1 0;}
@font-face
	{font-family:CMTT10;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:0;
	mso-generic-font-family:auto;
	mso-font-format:other;
	mso-font-pitch:auto;
	mso-font-signature:3 0 0 0 1 0;}
@font-face
	{font-family:CMITT10;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:0;
	mso-generic-font-family:auto;
	mso-font-format:other;
	mso-font-pitch:auto;
	mso-font-signature:3 0 0 0 1 0;}
@font-face
	{font-family:CMMI10;
	panose-1:0 0 0 0 0 0 0 0 0 0;
	mso-font-charset:0;
	mso-generic-font-family:auto;
	mso-font-format:other;
	mso-font-pitch:auto;
	mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:Arial;
	mso-fareast-font-family:"Times New Roman";
	mso-bidi-font-family:"Times New Roman";}
h1
	{mso-style-next:Normal;
	margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:16.0pt;
	font-family:Arial;
	mso-font-kerning:16.0pt;}
h2
	{mso-style-next:Normal;
	margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:12.0pt;
	font-family:Arial;
	font-style:italic;}
h3
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:11.0pt;
	font-family:Arial;}
h4
	{mso-style-next:Normal;
	margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:3.0pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:4;
	font-size:14.0pt;
	font-family:"Times New Roman";}
p.MsoTitle, li.MsoTitle, div.MsoTitle
	{margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:.25in;
	margin-left:0in;
	text-align:center;
	mso-pagination:widow-orphan;
	mso-layout-grid-align:none;
	text-autospace:none;
	font-size:14.0pt;
	mso-bidi-font-size:14.5pt;
	font-family:Arial;
	mso-fareast-font-family:"Times New Roman";
	color:black;}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
p.Preamble, li.Preamble, div.Preamble
	{mso-style-name:Preamble;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:288.7pt;
	margin-bottom:.0001pt;
	text-indent:-99.35pt;
	mso-pagination:none;
	font-size:10.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:CMMI10;
	mso-fareast-font-family:"Times New Roman";
	mso-bidi-font-family:Arial;}
p.NumberedParagraph, li.NumberedParagraph, div.NumberedParagraph
	{mso-style-name:"Numbered Paragraph";
	margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	text-indent:-.5in;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:Arial;
	mso-fareast-font-family:"Times New Roman";
	mso-bidi-font-family:"Times New Roman";}
p.PullQuote, li.PullQuote, div.PullQuote
	{mso-style-name:"Pull Quote";
	margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.25in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	mso-layout-grid-align:none;
	text-autospace:none;
	font-size:10.0pt;
	font-family:Arial;
	mso-fareast-font-family:"Times New Roman";
	mso-bidi-font-family:"Times New Roman";}
p.SectionTitle, li.SectionTitle, div.SectionTitle
	{mso-style-name:"Section Title";
	margin-top:6.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:Arial;
	mso-fareast-font-family:"Times New Roman";
	mso-bidi-font-family:"Times New Roman";}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>

<div class=Section1>

<h1>Proposed Improvements to the Presentation of Requirements for Functions</h1>

<p class=Preamble style='margin-top:6.0pt'><i style='mso-bidi-font-style:normal'>Document
number:<span style='mso-tab-count:1'> </span></i>WG21/N2121 = J16/06-0191</p>

<p class=Preamble><i style='mso-bidi-font-style:normal'>Date:<span
style='mso-tab-count:1'> </span></i>2006-10-17</p>

<p class=Preamble><i style='mso-bidi-font-style:normal'>Revises:<span
style='mso-tab-count:1'> </span></i>Library Active Issue
529</p>

<p class=Preamble><i style='mso-bidi-font-style:normal'>Project:<span
style='mso-tab-count:1'> </span></i>Programming Language
C++</p>

<p class=Preamble><i style='mso-bidi-font-style:normal'>Reference:<span
style='mso-tab-count:1'> </span></i><span style='mso-bidi-font-size:
10.0pt;font-family:NimbusRomNo9L-Regu'>N2009 = 06-0079</span></p>

<p class=Preamble><i style='mso-bidi-font-style:normal'>Reply to:<span
style='mso-tab-count:1'> </span></i><st1:PersonName w:st="on">Alan
 Talbot</st1:PersonName><br>
<span style='font-size:8.0pt;mso-bidi-font-size:12.0pt;font-family:NimbusMonL-Regu'><a
href="mailto:cpp@alantalbot.com">cpp@alantalbot.com</a></span><span
style='font-size:8.0pt;mso-bidi-font-size:12.0pt'><br>
Tele Atlas North <st1:country-region w:st="on">America</st1:country-region><br>
11 <st1:address w:st="on"><st1:Street w:st="on">Lafayette St</st1:Street><br>
<st1:City w:st="on">Lebanon</st1:City> <st1:State w:st="on">NH</st1:State> <st1:PostalCode
 w:st="on">03766</st1:PostalCode></st1:address> <st1:place w:st="on"><st1:country-region
 w:st="on">USA</st1:country-region></st1:place></span></p>

<h1>Introduction</h1>

<p class=MsoNormal>After considerable discussion at the April 2006 <st1:State
w:st="on"><st1:place w:st="on">Berlin</st1:place></st1:State> meeting, there
was some disagreement on the appropriate resolution of Issue 529<i>The
standard encourages redundant and confusing preconditions (David <span
class=SpellE>Abrahams</span>,&nbsp;25 Oct 2005). </i>This paper contains a
survey of the actual instances and suggests resolutions for the problem
identified in 529 and several other minor editorial issues.</p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'>The
version of the Standard used was <span style='mso-bidi-font-size:10.0pt;
font-family:NimbusRomNo9L-Regu'>N2009=06-0079, dated 2006-04-21. I identified
the instances of the problem by doing a text search on <i>Requires:<span
class=GramE>.</span></i> I then examined each of the 164 instances for
consistency and redundancy with the <i>Throws:</i> clause (if present). I
also surveyed the cases where Requires was spelled Precondition(s).<o:p></o:p></span></p>

<h1>Discussion</h1>

<p class=MsoNormal>Issue 529 points out the following possible inconsistency in
the Standard. 17.3.1.3 [<span class=SpellE>lib.structure.specifications</span>]
states:</p>

<p class=PullQuote><i style='mso-bidi-font-style:normal'><span
style='font-family:NimbusRomNo9L-ReguItal'>Requires:</span></i><span
style='font-family:NimbusRomNo9L-ReguItal'> </span>the preconditions for
calling the function</p>

<p class=MsoNormal>17.4.3.8 [<span class=SpellE>lib.res.on.required</span>] further
states:</p>

<p class=PullQuote>Violation of the preconditions specified in a functions <span
class=GramE><i style='mso-bidi-font-style:normal'>Required</i></span><i
style='mso-bidi-font-style:normal'> behavior:</i> paragraph results in
undefined behavior unless the functions <i style='mso-bidi-font-style:normal'>Throws:</i>
paragraph specifies throwing an exception when the precondition is violated.</p>

<p class=MsoNormal>The argument is made in 529 that this is contradictory
because the definition of precondition is that it must be satisfied or
undefined behavior will result. Since throwing is defined behavior, this
creates a contradiction. 529 suggests removing the unless clause from this
paragraph. At the <st1:place w:st="on"><st1:State w:st="on">Berlin</st1:State></st1:place>
meeting an argument was made against this that I find compelling: namely that
doing so places the burden on the <span class=GramE><i style='mso-bidi-font-style:
normal'>Requires</i></span> paragraph to carefully exclude any behavior for which
the function throws. Under some future circumstances, this could become quite
complicated to write and to read. I find nothing unclear about the existing
wording, although I do suggest a small grammatical improvement.</p>

<p class=MsoNormal>There is also a confusing (and embarrassing) typo in this
paragraph, namely that it refers to the Required behavior: paragraph, not the
Requires: paragraph.</p>

<p class=MsoNormal>529 goes on to suggest removing redundant Requires
paragraphs in cases where the <span class=GramE>Requires</span> paragraph does
not specify any conditions that are not responded to by the Throws paragraph.
There was wide consensus in <st1:State w:st="on"><st1:place w:st="on">Berlin</st1:place></st1:State>
was that this was a good idea. I have located the places where this occurs.</p>

<h1>Global Changes</h1>

<h2>Order of paragraphs</h2>

<p class=MsoNormal>The order of paragraphs in the function specification
sections varies from function to function. This could lead to misreading. I
suggest this be corrected by making all such sections follow the order in
section 17.3.1.3 [<span class=SpellE>lib.structure.specifications</span>]. I
have listed those sections that differ from that order. (An alternative would
be to swap the position of Effects and Preconditions in the list and then
edit those places that differ from that order. This might make for fewer
changes.)</p>

<p class=MsoNormal>I have proposed these changes below by stating Reorder in
the Proposed Changes section, rather than by detailed change language.</p>

<h2>Name of the Requires paragraph</h2>

<p class=MsoNormal>The term Requires is potentially confusing (with the
Required behavior paragraphnote the typo in the current Standard), and is
asymmetrical with the <span class=SpellE>Postconditions</span> paragraph. I
suggest that the term Preconditions solves these problems. (Note this is
already used in some places! See: <span style='mso-bidi-font-size:10.0pt;
font-family:NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>22.2.1.4.2
[<span class=SpellE>lib.locale.codecvt.virtuals</span>].)<o:p></o:p></span></p>

<p class=MsoNormal>I propose a global change in which all instances of
Requires as it pertains to function preconditions, and all instances of
Precondition, be changed to Preconditions.</p>

<h1>Specific Changes</h1>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>17.3.1.3 Specifications [<span
class=SpellE>lib.structure.specifications</span>]<o:p></o:p></span></h3>

<p class=MsoNormal><span style='font-size:8.0pt'>3<span style='mso-tab-count:
1'> </span></span>Descriptions of function semantics contain the
following elements (as appropriate):<span style='font-size:7.5pt;color:blue'>155)<o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in;
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace:
none'><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'> </span><span
class=GramE><s><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;
mso-bidi-font-family:NimbusRomNo9L-ReguItal;color:black'>Requires</span></s></span><s><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:
NimbusRomNo9L-ReguItal;color:black'>:</span></s><span style='mso-bidi-font-size:
10.0pt;font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:NimbusRomNo9L-ReguItal;
color:black'> <span style='background:yellow;mso-highlight:yellow'>Preconditions:</span>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'>the preconditions for
calling the function<o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in;
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace:
none'><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:
NimbusRomNo9L-ReguItal;color:black'>Effects: </span><span style='mso-bidi-font-size:
10.0pt;font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu;
color:black'>the actions performed by the function<o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in;
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace:
none'><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'> </span><span
class=SpellE><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;
mso-bidi-font-family:NimbusRomNo9L-ReguItal;color:black'>Postconditions</span></span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:
NimbusRomNo9L-ReguItal;color:black'>: </span><span style='mso-bidi-font-size:
10.0pt;font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu;
color:black'>the observable results established by the function<o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in;
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace:
none'><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:
NimbusRomNo9L-ReguItal;color:black'>Returns: </span><span style='mso-bidi-font-size:
10.0pt;font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu;
color:black'>a description of the value(s) returned by the function<o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in;
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace:
none'><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:
NimbusRomNo9L-ReguItal;color:black'>Throws: </span><span style='mso-bidi-font-size:
10.0pt;font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu;
color:black'>any exceptions thrown by the function, and the conditions that
would cause the exception<o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in;
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace:
none'><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:
NimbusRomNo9L-ReguItal;color:black'>Complexity: </span><span style='mso-bidi-font-size:
10.0pt;font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu;
color:black'>the time and/or space complexity of the function<o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace:
none'><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu;color:black'><o:p></o:p></span></p>

<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace:
none'><span style='font-size:6.0pt;font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:
NimbusRomNo9L-Regu'>155) </span><span class=GramE><span style='font-size:8.0pt;
font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'>To</span></span><span
style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:
NimbusRomNo9L-Regu'> save space, items that do not apply to a function are
omitted. For example, if a function does not specify any further preconditions,
there will be no <s>Requires</s> <span style='background:yellow;mso-highlight:
yellow'>Preconditions</span> paragraph.<o:p></o:p></span></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'>Other possible issues:<o:p></o:p></b></p>

<p class=PullQuote>This list does not include mention of the <i
style='mso-bidi-font-style:normal'>Replaceable:</i> paragraph. Should it?</p>

<p class=PullQuote>This list does not include mention of the <i
style='mso-bidi-font-style:normal'>Return type:</i> paragraph. Should it?</p>

<h3>17.4.3.8 Required paragraph [<span class=SpellE>lib.res.on.required</span>]</h3>

<p class=SectionTitle style='tab-stops:right 6.0in'>17.4.3.8 <s>Required</s> <span
style='background:yellow;mso-highlight:yellow'>Preconditions</span> paragraph<span
style='mso-tab-count:1'> </span>[<span
class=SpellE>lib.res.on.<s>required</s><span style='background:yellow;
mso-highlight:yellow'>preconditions</span></span>]</p>

<p class=MsoNormal style='margin-left:.5in;text-indent:-.5in'>1<span
style='mso-tab-count:1'> </span>Violation of the preconditions
specified in a functions <span class=GramE><i style='mso-bidi-font-style:normal'><s>Required</s></i></span><i
style='mso-bidi-font-style:normal'><s> behavior:</s> <span style='background:
yellow;mso-highlight:yellow'>Preconditions:</span></i> paragraph results in
undefined behavior unless the functions <i style='mso-bidi-font-style:normal'>Throws:</i>
paragraph specifies throwing an exception when <span style='background:yellow;
mso-highlight:yellow'>one or more of</span> the precondition<span
style='background:yellow;mso-highlight:yellow'>s</span> <s>is</s> <span
style='background:yellow;mso-highlight:yellow'>are</span> violated.</p>

<h3>18.5.1.1 Single-object forms [<span class=SpellE>lib.new.delete.single</span>]</h3>

<h3 style='margin-top:0in'>18.5.1.2 Array forms [<span class=SpellE>lib.new.delete.array</span>]</h3>

<h3 style='margin-top:0in'>18.7.2.3 <span class=SpellE><span class=GramE><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>set_unexpected</span></span></span><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span>[<span
class=SpellE>lib.set.unexpected</span>]</h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>18.7.3.2 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>set_terminate</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.set.terminate</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>20.3.1.5 Relational
operators [<span class=SpellE>lib.tuple.rel</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>20.6.3 Temporary
buffers [<span class=SpellE>lib.temporary.buffer</span>]<o:p></o:p></span></h3>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.1 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>constructors [<span class=SpellE>lib.string.cons</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>3<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= </span></s><span
class=SpellE><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>str</span></s></span><s><span
style='font-family:CMITT10;mso-bidi-font-family:CMITT10'> </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>.<span class=GramE>size()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3>21.3.3 <span class=SpellE><span class=GramE><span style='font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string</span></span></span><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span>capacity [<span
class=SpellE>lib.string.capacity</span>]</h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>5<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>n </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= <span
class=SpellE>max_<span class=GramE>size</span></span><span class=GramE>()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3>21.3.4 <span class=SpellE><span class=GramE><span style='font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string</span></span></span><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span>element access [<span
class=SpellE>lib.string.access</span>]</h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>2<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt; <span class=GramE>size()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<h3>21.3.5.2 <span class=SpellE><span class=GramE><span style='font-family:
CMTT10;mso-bidi-font-family:CMTT10'>basic_string::append</span></span></span><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span>[<span
class=SpellE>lib.string::append</span>]</h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>2<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= </span></s><span
class=SpellE><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>str</span></s></span><s><span
style='font-family:CMITT10;mso-bidi-font-family:CMITT10'> </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>.<span class=GramE>size()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.5.3 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string::assign</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.string::assign</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>2<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= </span></s><span
class=SpellE><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>str</span></s></span><s><span
style='font-family:CMITT10;mso-bidi-font-family:CMITT10'> </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>.<span class=GramE>size()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.5.4 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string::insert</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.string::insert</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>2<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos1 </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= <span class=GramE>size(</span>)
</span></s><s><span style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:
NimbusRomNo9L-Regu'>and </span></s><s><span style='font-family:CMITT10;
mso-bidi-font-family:CMITT10'>pos2 </span></s><s><span style='font-family:CMTT10;
mso-bidi-font-family:CMTT10'>&lt;= </span></s><span class=SpellE><s><span
style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>str</span></s></span><s><span
style='font-family:CMITT10;mso-bidi-font-family:CMITT10'> </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>.size()</span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.5.5 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string::erase</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.string::erase</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>1<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= <span class=GramE>size()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.5.6 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string::replace</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.string::replace</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>2<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos1 </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= <span class=GramE>size(</span>)
&amp;&amp; </span></s><s><span style='font-family:CMITT10;mso-bidi-font-family:
CMITT10'>pos2 </span></s><s><span style='font-family:CMTT10;mso-bidi-font-family:
CMTT10'>&lt;= </span></s><span class=SpellE><s><span style='font-family:CMITT10;
mso-bidi-font-family:CMITT10'>str</span></s></span><s><span style='font-family:
CMITT10;mso-bidi-font-family:CMITT10'> </span></s><s><span style='font-family:
CMTT10;mso-bidi-font-family:CMTT10'>.size()</span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'>.<o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.5.7 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string::copy</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.string::copy</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>1<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= <span class=GramE>size()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.5.8 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string::swap</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.string::swap</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.6 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>basic_string</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>string operations [<span class=SpellE>lib.string.ops</span>]<o:p></o:p></span></h3>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>21.3.6.7 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>basic_string::substr</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.string::substr</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>1<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= <span class=GramE>size()</span></span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'><o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>23.2.3.4 </span><span class=GramE><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>list</span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>operations [<span class=SpellE>lib.list.ops</span>]<o:p></o:p></span></h3>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>23.3.5.1 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>bitset</span></span></span><span style='mso-bidi-font-size:
10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;mso-bidi-font-family:
NimbusRomNo9L-Medi'>constructors [<span class=SpellE>lib.bitset.cons</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt;font-family:NimbusRomNo9L-Regu;
mso-bidi-font-family:NimbusRomNo9L-Regu'>3<span style='mso-tab-count:1'> </span></span>Requires:
</s><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>pos </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>&lt;= </span></s><span
class=SpellE><s><span style='font-family:CMITT10;mso-bidi-font-family:CMITT10'>str</span></s></span><s><span
style='font-family:CMITT10;mso-bidi-font-family:CMITT10'> </span></s><s><span
style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>.<span class=GramE>size(</span>)</span></s><s><span
style='font-family:NimbusRomNo9L-Regu;mso-bidi-font-family:NimbusRomNo9L-Regu'>.<o:p></o:p></span></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>23.3.5.2 </span><span class=SpellE><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>bitset</span></span></span><span style='mso-bidi-font-size:
10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;mso-bidi-font-family:
NimbusRomNo9L-Medi'>members [<span class=SpellE>lib.bitset.members</span>]<o:p></o:p></span></h3>

<p class=NumberedParagraph><s><span style='font-size:8.0pt'>13<span
style='mso-tab-count:1'> </span></span></s><s><span
style='font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:NimbusRomNo9L-ReguItal'>Requires:
</span></s><s><span style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>pos </span>is
valid<o:p></o:p></s></p>

<p class=NumberedParagraph><s><span style='font-size:8.0pt'>19<span
style='mso-tab-count:1'> </span></span></s><s><span
style='font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:NimbusRomNo9L-ReguItal'>Requires:
</span></s><s><span style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>pos </span>is
valid<o:p></o:p></s></p>

<p class=NumberedParagraph><s><span style='font-size:8.0pt'>27<span
style='mso-tab-count:1'> </span></span></s><s><span
style='font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:NimbusRomNo9L-ReguItal'>Requires:
</span></s><s><span style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>pos </span>is
valid<o:p></o:p></s></p>

<p class=NumberedParagraph><s><span style='font-size:8.0pt'>42<span
style='mso-tab-count:1'> </span></span></s><s><span
style='font-family:NimbusRomNo9L-ReguItal;mso-bidi-font-family:NimbusRomNo9L-ReguItal'>Requires:
</span></s><s><span style='font-family:CMTT10;mso-bidi-font-family:CMTT10'>pos </span>is
valid<o:p></o:p></s></p>

<p class=MsoNormal>Reorder.</p>

<h3><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>24.3.4 <span class=SpellE>Iterator</span>
operations [<span class=SpellE>lib.iterator.operations</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.1 Copy [<span
class=SpellE>lib.alg.copy</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.2 Swap [<span
class=SpellE>lib.alg.swap</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.3 Transform [<span
class=SpellE>lib.alg.transform</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.6 Generate [<span
class=SpellE>lib.alg.generate</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.8 Unique [<span
class=SpellE>lib.alg.unique</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.9 Reverse [<span
class=SpellE>lib.alg.reverse</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.10 Rotate [<span
class=SpellE>lib.alg.rotate</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.11 Random
shuffle [<span class=SpellE>lib.alg.random.shuffle</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.2.12 Partitions
[<span class=SpellE>lib.alg.partitions</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.1.1 </span><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>sort</span></span><span style='mso-bidi-font-size:
10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;mso-bidi-font-family:
NimbusRomNo9L-Medi'>[<span class=SpellE>lib.sort</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.1.2 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>stable_sort</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.stable.sort</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.1.3 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>partial_sort</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.partial.sort</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.1.4 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>partial_sort_copy</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.partial.sort.copy</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.4 Merge [<span
class=SpellE>lib.alg.merge</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.5.2 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>set_union</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.set.union</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.5.3 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>set_intersection</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.set.intersection</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.5.4 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>set_difference</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.set.difference</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.5.5 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>set_symmetric_difference</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.set.symmetric.difference</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.6.1 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>push_heap</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.push.heap</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.6.2 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>pop_heap</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.pop.heap</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.6.4 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>sort_heap</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>[<span class=SpellE>lib.sort.heap</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>25.3.9 Permutation
generators [<span class=SpellE>lib.alg.permutation.generators</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>26.3.6 </span><span
class=GramE><span style='mso-bidi-font-size:10.0pt;font-family:CMTT10;
mso-bidi-font-family:CMTT10'>complex</span></span><span style='mso-bidi-font-size:
10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'> </span><span
style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;mso-bidi-font-family:
NimbusRomNo9L-Medi'>non-member operations [<span class=SpellE>lib.complex.ops</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>26.6.1 Accumulate [<span
class=SpellE>lib.accumulate</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>26.6.2 Inner
product [<span class=SpellE>lib.inner.product</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>26.6.3 Partial sum
[<span class=SpellE>lib.partial.sum</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>26.6.4 Adjacent
difference [<span class=SpellE>lib.adjacent.difference</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>27.4.2.6 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>ios_base</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>callbacks [<span class=SpellE>lib.ios.base.callback</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>27.5.2.4.3 Get area
[<span class=SpellE>lib.streambuf.virt.get</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>27.5.2.4.5 Put area
[<span class=SpellE>lib.streambuf.virt.put</span>]<o:p></o:p></span></h3>

<h3 style='margin-top:0in'><span style='mso-bidi-font-size:10.0pt;font-family:
NimbusRomNo9L-Medi;mso-bidi-font-family:NimbusRomNo9L-Medi'>28.8.2 </span><span
class=SpellE><span class=GramE><span style='mso-bidi-font-size:10.0pt;
font-family:CMTT10;mso-bidi-font-family:CMTT10'>basic_regex</span></span></span><span
style='mso-bidi-font-size:10.0pt;font-family:CMTT10;mso-bidi-font-family:CMTT10'>
</span><span style='mso-bidi-font-size:10.0pt;font-family:NimbusRomNo9L-Medi;
mso-bidi-font-family:NimbusRomNo9L-Medi'>constructors [<span class=SpellE>lib.re.regex.construct</span>]<o:p></o:p></span></h3>

<p class=MsoNormal>Reorder.</p>

</div>

</body>

</html>
