<HTML>
<HEAD>
<TITLE>A Phone Number Formatting Facet Class</TITLE>
<LINK REL=StyleSheet HREF="../rw.css" TYPE="text/css" TITLE="Apache stdcxx Stylesheet"></HEAD>
<BODY BGCOLOR=#FFFFFF>
<A HREF="26-2.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-4.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.3 A Phone Number Formatting Facet Class</H2>
<P>Now that we have locales and facets in C++, we can encapsulate the locale-dependent parsing and formatting of telephone numbers into a new facet class. Let's focus on formatting in this example. We call the new facet class <SAMP>phone_put</SAMP>, analogous to <SAMP>time_put</SAMP>, <SAMP>money_put</SAMP>, etc.</P>
<A NAME="idx589"><!></A>
<P>The <SAMP>phone_put</SAMP> facet class serves solely as a base class for facet classes that actually implement the locale-dependent formatting. The relationship of class <SAMP>phone_put</SAMP> to the other facet classes is illustrated in <A HREF="26-3.html#Figure&nbsp;13">Figure&nbsp;13</A>:</P>
<A NAME="idx590"><!></A>
<H4><A NAME="Figure&nbsp;13">Figure&nbsp;13: The relationship of the phone_put facet to the implementing facets</A></H4>

<P><IMG SRC="images/stdlibug-Locales11.gif" WIDTH=555 HEIGHT=226></P>
<A NAME="idx591"><!></A>
<P>Here is a first tentative declaration of the new facet class <SAMP>phone_put</SAMP>:</P>

<UL><PRE>
class phone_put: public std::locale::facet {                 // 1
public:
  static std::locale::id id;                                 // 2
  typedef std::string string_type;

  phone_put (std::size_t refs = 0)
    : std::locale::facet (refs) { }                          // 3

  string_type put (const string_type &amp;cntryName,
                   const string_type &amp;areaCode,
                   const string_type &amp;extension) const;      // 4
};

</PRE></UL>
<TABLE CELLPADDING="3">

<TR VALIGN="top"><TD><SAMP>//1</SAMP></TD><TD>Derive from the base class <SAMP>std::locale::facet</SAMP>, so that a locale object is able to maintain instances of our new phone facet class.
<TR VALIGN="top"><TD><SAMP>//2</SAMP></TD><TD>New base facet classes need to define a static data member <SAMP>id</SAMP> of type <SAMP>std::locale::id</SAMP>.
<TR VALIGN="top"><TD><SAMP>//3</SAMP></TD><TD>Define a constructor that takes the reference count that is handed over to the base class.
<TR VALIGN="top"><TD><SAMP>//4</SAMP></TD><TD>Define a function <SAMP>put()</SAMP> that does the actual formatting.
</TABLE>

<BR>
<HR>
<A HREF="26-2.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-4.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>
