<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Test and Example Programs</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Boost.Regex">
<link rel="up" href="../background_information.html" title="Background Information">
<link rel="prev" href="thread_safety.html" title="Thread Safety">
<link rel="next" href="futher.html" title="References and Further Information">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="thread_safety.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="futher.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_regex.background_information.examples"></a><a class="link" href="examples.html" title="Test and Example Programs"> Test and
      Example Programs</a>
</h3></div></div></div>
<a name="boost_regex.background_information.examples.test_programs"></a><h5>
<a name="id1066707"></a>
        <a class="link" href="examples.html#boost_regex.background_information.examples.test_programs">Test
        Programs</a>
      </h5>
<p>
        <span class="bold"><strong>regress:</strong></span>
      </p>
<p>
        A regression test application that gives the matching/searching algorithms
        a full workout. The presence of this program is your guarantee that the library
        will behave as claimed - at least as far as those items tested are concerned
        - if anyone spots anything that isn't being tested I'd be glad to hear about
        it.
      </p>
<p>
        Files:
      </p>
<div class="itemizedlist"><ul type="disc">
<li>
            <a href="../../../../test/regress/main.cpp" target="_top">main.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/basic_tests.cpp" target="_top">basic_tests.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_alt.cpp" target="_top">test_alt.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_anchors.cpp" target="_top">test_anchors.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_asserts.cpp" target="_top">test_asserts.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_backrefs.cpp" target="_top">test_backrefs.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_deprecated.cpp" target="_top">test_deprecated.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_emacs.cpp" target="_top">test_emacs.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_escapes.cpp" target="_top">test_escapes.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_grep.cpp" target="_top">test_grep.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_icu.cpp" target="_top">test_icu.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_locale.cpp" target="_top">test_locale.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_mfc.cpp" target="_top">test_mfc.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_non_greedy_repeats.cpp" target="_top">test_non_greedy_repeats.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_operators.cpp" target="_top">test_operators.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_overloads.cpp" target="_top">test_overloads.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_perl_ex.cpp" target="_top">test_perl_ex.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_replace.cpp" target="_top">test_replace.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_sets.cpp" target="_top">test_sets.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_simple_repeats.cpp" target="_top">test_simple_repeats.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_tricky_cases.cpp" target="_top">test_tricky_cases.cpp</a>
          </li>
<li>
            <a href="../../../../test/regress/test_unicode.cpp" target="_top">test_unicode.cpp</a>
          </li>
</ul></div>
<p>
        <span class="bold"><strong>bad_expression_test:</strong></span>
      </p>
<p>
        Verifies that "bad" regular expressions don't cause the matcher
        to go into infinite loops, but to throw an exception instead.
      </p>
<p>
        Files: <a href="../../../../test/pathology/bad_expression_test.cpp" target="_top">bad_expression_test.cpp</a>.
      </p>
<p>
        <span class="bold"><strong>recursion_test:</strong></span>
      </p>
<p>
        Verifies that the matcher can't overrun the stack (no matter what the expression).
      </p>
<p>
        Files: <a href="../../../../test/pathology/recursion_test.cpp" target="_top">recursion_test.cpp</a>.
      </p>
<p>
        <span class="bold"><strong>concepts:</strong></span>
      </p>
<p>
        Verifies that the library meets all documented concepts (a compile only test).
      </p>
<p>
        Files: <a href="../../../../test/concepts/concept_check.cpp" target="_top">concept_check.cpp</a>.
      </p>
<p>
        <span class="bold"><strong>captures_test:</strong></span>
      </p>
<p>
        Test code for captures.
      </p>
<p>
        Files: <a href="../../../../test/captures/captures_test.cpp" target="_top">captures_test.cpp</a>.
      </p>
<a name="boost_regex.background_information.examples.example_programs"></a><h5>
<a name="id1067114"></a>
        <a class="link" href="examples.html#boost_regex.background_information.examples.example_programs">Example
        programs</a>
      </h5>
<p>
        <span class="bold"><strong>grep</strong></span>
      </p>
<p>
        A simple grep implementation, run with the -h command line option to find
        out its usage.
      </p>
<p>
        Files: <a href="../../../../example/grep/grep.cpp" target="_top">grep.cpp</a>
      </p>
<p>
        <span class="bold"><strong>timer.exe</strong></span>
      </p>
<p>
        A simple interactive expression matching application, the results of all
        matches are timed, allowing the programmer to optimize their regular expressions
        where performance is critical.
      </p>
<p>
        Files: <a href="../../../../example/timer/regex_timer.cpp" target="_top">regex_timer.cpp</a>.
      </p>
<a name="boost_regex.background_information.examples.code_snippets"></a><h5>
<a name="id1067172"></a>
        <a class="link" href="examples.html#boost_regex.background_information.examples.code_snippets">Code
        snippets</a>
      </h5>
<p>
        The snippets examples contain the code examples used in the documentation:
      </p>
<p>
        <a href="../../../../example/snippets/captures_example.cpp" target="_top">captures_example.cpp</a>:
        Demonstrates the use of captures.
      </p>
<p>
        <a href="../../../../example/snippets/credit_card_example.cpp" target="_top">credit_card_example.cpp</a>:
        Credit card number formatting code.
      </p>
<p>
        <a href="../../../../example/snippets/partial_regex_grep.cpp" target="_top">partial_regex_grep.cpp</a>:
        Search example using partial matches.
      </p>
<p>
        <a href="../../../../example/snippets/partial_regex_match.cpp" target="_top">partial_regex_match.cpp</a>:
        regex_match example using partial matches.
      </p>
<p>
        <a href="../../../../example/snippets/regex_iterator_example.cpp" target="_top">regex_iterator_example.cpp</a>:
        Iterating through a series of matches.
      </p>
<p>
        <a href="../../../../example/snippets/regex_match_example.cpp" target="_top">regex_match_example.cpp</a>:
        ftp based regex_match example.
      </p>
<p>
        <a href="../../../../example/snippets/regex_merge_example.cpp" target="_top">regex_merge_example.cpp</a>:
        regex_merge example: converts a C++ file to syntax highlighted HTML.
      </p>
<p>
        <a href="../../../../example/snippets/regex_replace_example.cpp" target="_top">regex_replace_example.cpp</a>:
        regex_replace example: converts a C++ file to syntax highlighted HTML
      </p>
<p>
        <a href="../../../../example/snippets/regex_search_example.cpp" target="_top">regex_search_example.cpp</a>:
        regex_search example: searches a cpp file for class definitions.
      </p>
<p>
        <a href="../../../../example/snippets/regex_token_iterator_eg_1.cpp" target="_top">regex_token_iterator_eg_1.cpp</a>:
        split a string into a series of tokens.
      </p>
<p>
        <a href="../../../../example/snippets/regex_token_iterator_eg_2.cpp" target="_top">regex_token_iterator_eg_2.cpp</a>:
        enumerate the linked URL's in a HTML file.
      </p>
<p>
        The following are deprecated:
      </p>
<p>
        <a href="../../../../example/snippets/regex_grep_example_1.cpp" target="_top">regex_grep_example_1.cpp</a>:
        regex_grep example 1: searches a cpp file for class definitions.
      </p>
<p>
        <a href="../../../../example/snippets/regex_grep_example_2.cpp" target="_top">regex_grep_example_2.cpp</a>:
        regex_grep example 2: searches a cpp file for class definitions, using a
        global callback function.
      </p>
<p>
        <a href="../../../../example/snippets/regex_grep_example_3.cpp" target="_top">regex_grep_example_3.cpp</a>:
        regex_grep example 2: searches a cpp file for class definitions, using a
        bound member function callback.
      </p>
<p>
        <a href="../../../../example/snippets/regex_grep_example_4.cpp" target="_top">regex_grep_example_4.cpp</a>:
        regex_grep example 2: searches a cpp file for class definitions, using a
        C++ Builder closure as a callback.
      </p>
<p>
        <a href="../../../../example/snippets/regex_split_example_1.cpp" target="_top">regex_split_example_1.cpp</a>:
        regex_split example: split a string into tokens.
      </p>
<p>
        <a href="../../../../example/snippets/regex_split_example_2.cpp" target="_top">regex_split_example_2.cpp</a>
        : regex_split example: spit out linked URL's.
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998 -2010 John Maddock<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="thread_safety.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="futher.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
