<HTML>
<HEAD>
<TITLE>An Inserter for Phone Numbers</TITLE>
<LINK REL=StyleSheet HREF="../rw.css" TYPE="text/css" TITLE="Apache stdcxx Stylesheet"></HEAD>
<BODY BGCOLOR=#FFFFFF>
<A HREF="26-3.html"><IMG SRC="images/bprev.gif" WIDTH=20 HEIGHT=21 ALT="Previous file" BORDER=O></A><A HREF="noframes.html"><IMG SRC="images/btop.gif" WIDTH=56 HEIGHT=21 ALT="Top of Document" BORDER=O></A><A HREF="booktoc.html"><IMG SRC="images/btoc.gif" WIDTH=56 HEIGHT=21 ALT="Contents" BORDER=O></A><A HREF="tindex.html"><IMG SRC="images/bindex.gif" WIDTH=56 HEIGHT=21 ALT="Index page" BORDER=O></A><A HREF="26-5.html"><IMG SRC="images/bnext.gif" WIDTH=25 HEIGHT=21 ALT="Next file" BORDER=O></A><DIV CLASS="DOCUMENTNAME"><B>Apache C++ Standard Library User's Guide</B></DIV>
<H2>26.4 An Inserter for Phone Numbers</H2>
<A NAME="idx592"><!></A>
<P>Now let's take a look at the implementation of the inserter for our phone number class:</P>

<UL><PRE>
std::ostream&amp; operator&lt;&lt; (std::ostream&amp; os, const PhoneNumber&amp; pn){
  std::locale loc = os.getloc ();                           // 1
  const phone_put&amp; ppFacet 
                     = std::use_facet&lt;phone_put&gt; (loc);     // 2
  os &lt;&lt; ppFacet.put(pn._cntryName,
                    pn._areaCode, pn._extension);           // 3
  return (os);
}
</PRE></UL>
<TABLE CELLPADDING="3">

<TR VALIGN="top"><TD><SAMP>//1</SAMP></TD><TD>The inserter function uses the output stream's locale object (obtained via <SAMP>getloc()</SAMP>), 
<TR VALIGN="top"><TD><SAMP>//2</SAMP></TD><TD>uses the locale's phone number facet object,
<TR VALIGN="top"><TD><SAMP>//3</SAMP></TD><TD>and calls the facet object's formatting service <SAMP>put()</SAMP>.
</TABLE>

<BR>
<HR>
<A HREF="26-3.html"><IMG SRC="images/bprev.gif" WIDTH=20 HEIGHT=21 ALT="Previous file" BORDER=O></A><A HREF="noframes.html"><IMG SRC="images/btop.gif" WIDTH=56 HEIGHT=21 ALT="Top of Document" BORDER=O></A><A HREF="booktoc.html"><IMG SRC="images/btoc.gif" WIDTH=56 HEIGHT=21 ALT="Contents" BORDER=O></A><A HREF="tindex.html"><IMG SRC="images/bindex.gif" WIDTH=56 HEIGHT=21 ALT="Index page" BORDER=O></A><A HREF="26-5.html"><IMG SRC="images/bnext.gif" WIDTH=20 HEIGHT=21 ALT="Next file" BORDER=O></A>

<!-- Google Analytics tracking code -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
    _uacct = "UA-1775151-1";
    urchinTracker();
</script>
<!-- end of Google Analytics tracking code -->

</BODY>
</HTML>
