<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<style>BODY, P, DIV, H1, H2, H3, H4, H5, H6, ADDRESS, OL, UL, LI, TITLE, TD, OPTION, SELECT 
{ 
 font-family: Verdana 
}
BODY, P, DIV, ADDRESS, OL, UL, LI, TITLE, TD, OPTION, SELECT  
{  
  font-size: 10.0pt; 
  margin-top:0pt;  
  margin-bottom:0pt;  
} 
BODY, P
{
  margin-left:0pt; 
  margin-right:0pt;
}
BODY
{
  background: white;
  margin: 6px;
  padding: 0px;
}
h6 { font-size: 10pt }
h5 { font-size: 11pt }
h4 { font-size: 12pt }
h3 { font-size: 13pt }
h2 { font-size: 14pt }
h1 { font-size: 16pt }
blockquote { padding: 10px; border: 1px #DDDDDD dashed }
a img {	border: 0; }
table.zeroBorder {
	border-width: 1px 1px 1px 1px;
	border-style: dotted dotted dotted dotted;
	border-color: gray gray gray gray;
}
table.zeroBorder th {
	border-width: 1px 1px 1px 1px;
	border-style: dotted dotted dotted dotted;
	border-color: gray gray gray gray;
}
table.zeroBorder td {
	border-width: 1px 1px 1px 1px;
	border-style: dotted dotted dotted dotted;
	border-color: gray gray gray gray;
}
.hiddenStyle {
		visibility: hidden; 
		position: absolute;
		z-Index: 1;
		paddingRight: 0;
		background: white
	}
.misspell { background-image: url('/images/misspell.gif'); background-repeat: repeat-x; background-position: bottom }
@media screen {
.pb { border-top: 1px dashed #C0C0C0; border-bottom: 1px dashed #C0C0C0 }
.writely-comment { font-size: 9pt; line-height: 1.4em; padding: 1px; border: 1px dashed #C0C0C0 }
}
@media print {
.pb { border-top: 0px; border-bottom: 0px }
.writely-comment { display: none }
}
@media screen,print {
.pb { height: 1px }
}
</style></head>
<body revision='ddd5crnh_21djqdnb:44'>
Matthew Austern &lt;austern@google.com&gt;<br>
N2257=07-0117<br>
2007-04-18<br>
<h1>
  Removing unused allocator functions
</h1>
Nothing in the standard requires containers to call allocators'
<span style="FONT-FAMILY:Courier New">construct</span>,
<span style="FONT-FAMILY:Courier New">destroy</span>, or
<span style="FONT-FAMILY:Courier New">address</span> member functions, and there
are several open issues concerning those member functions. (401, 580, 634, and
635.) Other than test cases, there are no known uses for those member
functions.&nbsp; The existence of those functions impedes other useful
extensions, such as in-place construction of container elements using variadic
templates. This is a proposal to remove those functions.<br>
<h2>
  Proposed wording
</h2>
In table 34, in section 20.1.6 [lib.allocator.requirements], remove the rows
describing the variables
<span style="FONT-FAMILY:Courier New">r</span><span style=FONT-FAMILY:Verdana>,&nbsp;
</span><span style="FONT-FAMILY:Courier New">s<span style=FONT-FAMILY:Verdana>,
and </span>t</span><span style=FONT-FAMILY:Verdana>.</span><br>
<br>
In table 35, in section 20.1.6 [lib.allocator.requirements], remove the rows
describing the expressions
<span style="FONT-FAMILY:Courier New">a.address(r)</span>,
<span style="FONT-FAMILY:Courier New">a.address(s)</span>,
<span style="FONT-FAMILY:Courier New">a.construct(p, t)</span>, and
<span style="FONT-FAMILY:Courier New">a.destroy(p)</span>.<br>
<br>
In the <span style="FONT-FAMILY:Courier New">allocator</span> class synopsis in
20.6.1 [lib.default.allocator], remove the member functions
<span style="FONT-FAMILY:Courier New">address</span>,
<span style="FONT-FAMILY:Courier New">construct</span>, and
<span style="FONT-FAMILY:Courier New">destroy</span>.<br>
<br>
In sections 20.6.1.1 [lib.allocator.members], remove the descriptions of
<span style="FONT-FAMILY:Courier New">address</span> (paragraphs 1 and 2),
<span style="FONT-FAMILY:Courier New">construct</span> (paragraph 12), and
<span style="FONT-FAMILY:Courier New">destroy</span> (paragraph 13).<br>
<br>
<br>
<br></body>
</html>