<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<phpdoc:classref xml:id="class.intlbreakiterator" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">

 <title>The IntlBreakIterator class</title>
 <titleabbrev>IntlBreakIterator</titleabbrev>

 <partintro>

<!-- {{{ IntlBreakIterator intro -->
  <section xml:id="intlbreakiterator.intro">
   &reftitle.intro;
   <para>
    A “break iterator” is an ICU object that exposes methods for locating
    boundaries in text (e.g. word or sentence boundaries).
    The PHP <classname>IntlBreakIterator</classname> serves as the base class
    for all types of ICU break iterators. Where extra functionality is
    available, the intl extension may expose the ICU break iterator with
    suitable subclasses, such as
    <classname>IntlRuleBasedBreakIterator</classname> or
    <classname>IntlCodePointBreakIterator</classname>.
   </para>
   <para>
    This class implements <interfacename>IteratorAggregate</interfacename>. Traversing an
    <classname>IntlBreakIterator</classname> yields non-negative integer
    values representing the successive locations of the text boundaries,
    expressed as UTF-8 code units (byte) counts, taken from the beginning of
    the text (which has the location <literal>0</literal>). The keys yielded
    by the iterator simply form the sequence of natural numbers
    <literal>{0, 1, 2, …}</literal>.
   </para>
  </section>
<!-- }}} -->

  <section xml:id="intlbreakiterator.synopsis">
   &reftitle.classsynopsis;

<!-- {{{ Synopsis -->
   <classsynopsis class="class">
    <ooclass>
     <classname>IntlBreakIterator</classname>
    </ooclass>

    <oointerface>
     <modifier>implements</modifier>
     <interfacename>IteratorAggregate</interfacename>
    </oointerface>

    <classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.done">IntlBreakIterator::DONE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-none">IntlBreakIterator::WORD_NONE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-none-limit">IntlBreakIterator::WORD_NONE_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-number">IntlBreakIterator::WORD_NUMBER</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-number-limit">IntlBreakIterator::WORD_NUMBER_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-letter">IntlBreakIterator::WORD_LETTER</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-letter-limit">IntlBreakIterator::WORD_LETTER_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-kana">IntlBreakIterator::WORD_KANA</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-kana-limit">IntlBreakIterator::WORD_KANA_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-ideo">IntlBreakIterator::WORD_IDEO</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.word-ideo-limit">IntlBreakIterator::WORD_IDEO_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.line-soft">IntlBreakIterator::LINE_SOFT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.line-soft-limit">IntlBreakIterator::LINE_SOFT_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.line-hard">IntlBreakIterator::LINE_HARD</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.line-hard-limit">IntlBreakIterator::LINE_HARD_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.sentence-term">IntlBreakIterator::SENTENCE_TERM</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.sentence-term-limit">IntlBreakIterator::SENTENCE_TERM_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.sentence-sep">IntlBreakIterator::SENTENCE_SEP</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="intlbreakiterator.constants.sentence-sep-limit">IntlBreakIterator::SENTENCE_SEP_LIMIT</varname>
    </fieldsynopsis>

    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.intlbreakiterator')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='IntlBreakIterator'])">
     <xi:fallback/>
    </xi:include>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.intlbreakiterator')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='IntlBreakIterator'])">
     <xi:fallback/>
    </xi:include>
   </classsynopsis>
<!-- }}} -->

  </section>

<!-- {{{ IntlBreakIterator constants -->
  <section xml:id="intlbreakiterator.constants">
   &reftitle.constants;
   <variablelist>

    <varlistentry xml:id="intlbreakiterator.constants.done">
     <term><constant>IntlBreakIterator::DONE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-none">
     <term><constant>IntlBreakIterator::WORD_NONE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-none-limit">
     <term><constant>IntlBreakIterator::WORD_NONE_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-number">
     <term><constant>IntlBreakIterator::WORD_NUMBER</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-number-limit">
     <term><constant>IntlBreakIterator::WORD_NUMBER_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-letter">
     <term><constant>IntlBreakIterator::WORD_LETTER</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-letter-limit">
     <term><constant>IntlBreakIterator::WORD_LETTER_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-kana">
     <term><constant>IntlBreakIterator::WORD_KANA</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-kana-limit">
     <term><constant>IntlBreakIterator::WORD_KANA_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-ideo">
     <term><constant>IntlBreakIterator::WORD_IDEO</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.word-ideo-limit">
     <term><constant>IntlBreakIterator::WORD_IDEO_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.line-soft">
     <term><constant>IntlBreakIterator::LINE_SOFT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.line-soft-limit">
     <term><constant>IntlBreakIterator::LINE_SOFT_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.line-hard">
     <term><constant>IntlBreakIterator::LINE_HARD</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.line-hard-limit">
     <term><constant>IntlBreakIterator::LINE_HARD_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.sentence-term">
     <term><constant>IntlBreakIterator::SENTENCE_TERM</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.sentence-term-limit">
     <term><constant>IntlBreakIterator::SENTENCE_TERM_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.sentence-sep">
     <term><constant>IntlBreakIterator::SENTENCE_SEP</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="intlbreakiterator.constants.sentence-sep-limit">
     <term><constant>IntlBreakIterator::SENTENCE_SEP_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

   </variablelist>
  </section>

  <section role="changelog">
   &reftitle.changelog;
   <informaltable>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>&Version;</entry>
       <entry>&Description;</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>8.0.0</entry>
       <entry>
        <classname>IntlBreakIterator</classname> implements
        <interfacename>IteratorAggregate</interfacename> now.
        Previously, <interfacename>Traversable</interfacename> was implemented instead.
       </entry>
      </row>
     </tbody>
    </tgroup>
   </informaltable>
  </section>
<!-- }}} -->
 </partintro>

 &reference.intl.entities.intlbreakiterator;

</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
