| <?xml version="1.0" encoding="utf-8"?> |
| <!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" |
| "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> |
| |
| <!-- Copyright (c) 2002-2006 Pavol Droba. |
| Subject to the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) |
| --> |
| |
| <section id="string_algo.quickref" last-revision="$Date: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $"> |
| <title>Quick Reference</title> |
| |
| <using-namespace name="boost"/> |
| <using-namespace name="boost::algorithm"/> |
| |
| <section> |
| <title>Algorithms</title> |
| |
| <table> |
| <title>Case Conversion</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Algorithm name</entry> |
| <entry>Description</entry> |
| <entry>Functions</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><code>to_upper</code></entry> |
| <entry>Convert a string to upper case</entry> |
| <entry> |
| <functionname>to_upper_copy()</functionname> |
| <sbr/> |
| <functionname>to_upper()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry><code>to_lower</code></entry> |
| <entry>Convert a string to lower case</entry> |
| <entry> |
| <functionname>to_lower_copy()</functionname> |
| <sbr/> |
| <functionname>to_lower()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <table> |
| <title>Trimming</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Algorithm name</entry> |
| <entry>Description</entry> |
| <entry>Functions</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><code>trim_left</code></entry> |
| <entry>Remove leading spaces from a string</entry> |
| <entry> |
| <functionname>trim_left_copy_if()</functionname> |
| <sbr/> |
| <functionname>trim_left_if()</functionname> |
| <sbr/> |
| <functionname>trim_left_copy()</functionname> |
| <sbr/> |
| <functionname>trim_left()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry><code>trim_right</code></entry> |
| <entry>Remove trailing spaces from a string</entry> |
| <entry> |
| <functionname>trim_right_copy_if()</functionname> |
| <sbr/> |
| <functionname>trim_right_if()</functionname> |
| <sbr/> |
| <functionname>trim_right_copy()</functionname> |
| <sbr/> |
| <functionname>trim_right()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry><code>trim</code></entry> |
| <entry>Remove leading and trailing spaces from a string</entry> |
| <entry> |
| <functionname>trim_copy_if()</functionname> |
| <sbr/> |
| <functionname>trim_if()</functionname> |
| <sbr/> |
| <functionname>trim_copy()</functionname> |
| <sbr/> |
| <functionname>trim()</functionname> |
| </entry> |
| </row> |
| |
| </tbody> |
| </tgroup> |
| </table> |
| <table> |
| <title>Predicates</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Algorithm name</entry> |
| <entry>Description</entry> |
| <entry>Functions</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><code>starts_with</code></entry> |
| <entry>Check if a string is a prefix of the other one</entry> |
| <entry> |
| <functionname>starts_with()</functionname> |
| <sbr/> |
| <functionname>istarts_with()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry><code>ends_with</code></entry> |
| <entry>Check if a string is a suffix of the other one</entry> |
| <entry> |
| <functionname>ends_with()</functionname> |
| <sbr/> |
| <functionname>iends_with()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry><code>contains</code></entry> |
| <entry>Check if a string is contained of the other one</entry> |
| <entry> |
| <functionname>contains()</functionname> |
| <sbr/> |
| <functionname>icontains()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry><code>equals</code></entry> |
| <entry>Check if two strings are equal</entry> |
| <entry> |
| <functionname>equals()</functionname> |
| <sbr/> |
| <functionname>iequals()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry><code>lexicographical_compare</code></entry> |
| <entry>Check if a string is lexicographically less then another one</entry> |
| <entry> |
| <functionname>lexicographical_compare()</functionname> |
| <sbr/> |
| <functionname>ilexicographical_compare()</functionname> |
| </entry> |
| </row> |
| |
| <row> |
| <entry><code>all</code></entry> |
| <entry>Check if all elements of a string satisfy the given predicate</entry> |
| <entry> |
| <functionname>all()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <table> |
| <title>Find algorithms</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Algorithm name</entry> |
| <entry>Description</entry> |
| <entry>Functions</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>find_first</entry> |
| <entry>Find the first occurrence of a string in the input</entry> |
| <entry> |
| <functionname>find_first()</functionname> |
| <sbr/> |
| <functionname>ifind_first()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>find_last</entry> |
| <entry>Find the last occurrence of a string in the input</entry> |
| <entry> |
| <functionname>find_last()</functionname> |
| <sbr/> |
| <functionname>ifind_last()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>find_nth</entry> |
| <entry>Find the nth (zero-indexed) occurrence of a string in the input</entry> |
| <entry> |
| <functionname>find_nth()</functionname> |
| <sbr/> |
| <functionname>ifind_nth()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>find_head</entry> |
| <entry>Retrieve the head of a string</entry> |
| <entry> |
| <functionname>find_head()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>find_tail</entry> |
| <entry>Retrieve the tail of a string</entry> |
| <entry> |
| <functionname>find_tail()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>find_token</entry> |
| <entry>Find first matching token in the string</entry> |
| <entry> |
| <functionname>find_token()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>find_regex</entry> |
| <entry>Use the regular expression to search the string</entry> |
| <entry> |
| <functionname>find_regex()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>find</entry> |
| <entry>Generic find algorithm</entry> |
| <entry> |
| <functionname>find()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <table> |
| <title>Erase/Replace</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Algorithm name</entry> |
| <entry>Description</entry> |
| <entry>Functions</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>replace/erase_first</entry> |
| <entry>Replace/Erase the first occurrence of a string in the input</entry> |
| <entry> |
| <functionname>replace_first()</functionname> |
| <sbr/> |
| <functionname>replace_first_copy()</functionname> |
| <sbr/> |
| <functionname>ireplace_first()</functionname> |
| <sbr/> |
| <functionname>ireplace_first_copy()</functionname> |
| <sbr/> |
| <functionname>erase_first()</functionname> |
| <sbr/> |
| <functionname>erase_first_copy()</functionname> |
| <sbr/> |
| <functionname>ierase_first()</functionname> |
| <sbr/> |
| <functionname>ierase_first_copy()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>replace/erase_last</entry> |
| <entry>Replace/Erase the last occurrence of a string in the input</entry> |
| <entry> |
| <functionname>replace_last()</functionname> |
| <sbr/> |
| <functionname>replace_last_copy()</functionname> |
| <sbr/> |
| <functionname>ireplace_last()</functionname> |
| <sbr/> |
| <functionname>ireplace_last_copy()</functionname> |
| <sbr/> |
| <functionname>erase_last()</functionname> |
| <sbr/> |
| <functionname>erase_last_copy()</functionname> |
| <sbr/> |
| <functionname>ierase_last()</functionname> |
| <sbr/> |
| <functionname>ierase_last_copy()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>replace/erase_nth</entry> |
| <entry>Replace/Erase the nth (zero-indexed) occurrence of a string in the input</entry> |
| <entry> |
| <functionname>replace_nth()</functionname> |
| <sbr/> |
| <functionname>replace_nth_copy()</functionname> |
| <sbr/> |
| <functionname>ireplace_nth()</functionname> |
| <sbr/> |
| <functionname>ireplace_nth_copy()</functionname> |
| <sbr/> |
| <functionname>erase_nth()</functionname> |
| <sbr/> |
| <functionname>erase_nth_copy()</functionname> |
| <sbr/> |
| <functionname>ierase_nth()</functionname> |
| <sbr/> |
| <functionname>ierase_nth_copy()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>replace/erase_all</entry> |
| <entry>Replace/Erase the all occurrences of a string in the input</entry> |
| <entry> |
| <functionname>replace_all()</functionname> |
| <sbr/> |
| <functionname>replace_all_copy()</functionname> |
| <sbr/> |
| <functionname>ireplace_all()</functionname> |
| <sbr/> |
| <functionname>ireplace_all_copy()</functionname> |
| <sbr/> |
| <functionname>erase_all()</functionname> |
| <sbr/> |
| <functionname>erase_all_copy()</functionname> |
| <sbr/> |
| <functionname>ierase_all()</functionname> |
| <sbr/> |
| <functionname>ierase_all_copy()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>replace/erase_head</entry> |
| <entry>Replace/Erase the head of the input</entry> |
| <entry> |
| <functionname>replace_head()</functionname> |
| <sbr/> |
| <functionname>replace_head_copy()</functionname> |
| <sbr/> |
| <functionname>erase_head()</functionname> |
| <sbr/> |
| <functionname>erase_head_copy()</functionname> |
| <sbr/> |
| </entry> |
| </row> |
| <row> |
| <entry>replace/erase_tail</entry> |
| <entry>Replace/Erase the tail of the input</entry> |
| <entry> |
| <functionname>replace_tail()</functionname> |
| <sbr/> |
| <functionname>replace_tail_copy()</functionname> |
| <sbr/> |
| <functionname>erase_tail()</functionname> |
| <sbr/> |
| <functionname>erase_tail_copy()</functionname> |
| <sbr/> |
| </entry> |
| </row> |
| <row> |
| <entry>replace/erase_regex</entry> |
| <entry>Replace/Erase a substring matching the given regular expression</entry> |
| <entry> |
| <functionname>replace_regex()</functionname> |
| <sbr/> |
| <functionname>replace_regex_copy()</functionname> |
| <sbr/> |
| <functionname>erase_regex()</functionname> |
| <sbr/> |
| <functionname>erase_regex_copy()</functionname> |
| <sbr/> |
| </entry> |
| </row> |
| <row> |
| <entry>replace/erase_regex_all</entry> |
| <entry>Replace/Erase all substrings matching the given regular expression</entry> |
| <entry> |
| <functionname>replace_all_regex()</functionname> |
| <sbr/> |
| <functionname>replace_all_regex_copy()</functionname> |
| <sbr/> |
| <functionname>erase_all_regex()</functionname> |
| <sbr/> |
| <functionname>erase_all_regex_copy()</functionname> |
| <sbr/> |
| </entry> |
| </row> |
| <row> |
| <entry>find_format</entry> |
| <entry>Generic replace algorithm</entry> |
| <entry> |
| <functionname>find_format()</functionname> |
| <sbr/> |
| <functionname>find_format_copy()</functionname> |
| <sbr/> |
| <functionname>find_format_all()</functionname> |
| <sbr/> |
| <functionname>find_format_all_copy()()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <table> |
| <title>Split</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Algorithm name</entry> |
| <entry>Description</entry> |
| <entry>Functions</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>find_all</entry> |
| <entry>Find/Extract all matching substrings in the input</entry> |
| <entry> |
| <functionname>find_all()</functionname> |
| <sbr/> |
| <functionname>ifind_all()</functionname> |
| <sbr/> |
| <functionname>find_all_regex()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>split</entry> |
| <entry>Split input into parts</entry> |
| <entry> |
| <functionname>split()</functionname> |
| <sbr/> |
| <functionname>split_regex()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>iter_find</entry> |
| <entry>Iteratively apply the finder to the input to find all matching substrings</entry> |
| <entry> |
| <functionname>iter_find()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>iter_split</entry> |
| <entry>Use the finder to find matching substrings in the input and use them as separators to split the input into parts</entry> |
| <entry> |
| <functionname>iter_split()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <table> |
| <title>Join</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Algorithm name</entry> |
| <entry>Description</entry> |
| <entry>Functions</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>join</entry> |
| <entry>Join all elements in a container into a single string</entry> |
| <entry> |
| <functionname>join</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>join_if</entry> |
| <entry>Join all elements in a container that satisfies the condition into a single string</entry> |
| <entry> |
| <functionname>join_if()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| <section> |
| <title>Finders and Formatters</title> |
| |
| <table> |
| <title>Finders</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Finder</entry> |
| <entry>Description</entry> |
| <entry>Generators</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>first_finder</entry> |
| <entry>Search for the first match of the string in an input</entry> |
| <entry> |
| <functionname>first_finder()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>last_finder</entry> |
| <entry>Search for the last match of the string in an input</entry> |
| <entry> |
| <functionname>last_finder()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>nth_finder</entry> |
| <entry>Search for the nth (zero-indexed) match of the string in an input</entry> |
| <entry> |
| <functionname>nth_finder()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>head_finder</entry> |
| <entry>Retrieve the head of an input</entry> |
| <entry> |
| <functionname>head_finder()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>tail_finder</entry> |
| <entry>Retrieve the tail of an input</entry> |
| <entry> |
| <functionname>tail_finder()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>token_finder</entry> |
| <entry>Search for a matching token in an input</entry> |
| <entry> |
| <functionname>token_finder()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>range_finder</entry> |
| <entry>Do no search, always returns the given range</entry> |
| <entry> |
| <functionname>range_finder()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>regex_finder</entry> |
| <entry>Search for a substring matching the given regex</entry> |
| <entry> |
| <functionname>regex_finder()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| |
| <table> |
| <title>Formatters</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Formatter</entry> |
| <entry>Description</entry> |
| <entry>Generators</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>const_formatter</entry> |
| <entry>Constant formatter. Always return the specified string</entry> |
| <entry> |
| <functionname>const_formatter()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>identity_formatter</entry> |
| <entry>Identity formatter. Return unmodified input input</entry> |
| <entry> |
| <functionname>identity_formatter()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>empty_formatter</entry> |
| <entry>Null formatter. Always return an empty string</entry> |
| <entry> |
| <functionname>empty_formatter()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>regex_formatter</entry> |
| <entry>Regex formatter. Format regex match using the specification in the format string</entry> |
| <entry> |
| <functionname>regex_formatter()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| <section> |
| <title>Iterators</title> |
| |
| <table> |
| <title>Find Iterators</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Iterator name</entry> |
| <entry>Description</entry> |
| <entry>Iterator class</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>find_iterator</entry> |
| <entry>Iterates through matching substrings in the input</entry> |
| <entry> |
| <classname>find_iterator</classname> |
| </entry> |
| </row> |
| <row> |
| <entry>split_iterator</entry> |
| <entry>Iterates through gaps between matching substrings in the input</entry> |
| <entry> |
| <classname>split_iterator</classname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| |
| <section> |
| <title>Classification</title> |
| |
| <table> |
| <title>Predicates</title> |
| <tgroup cols="3" align="left"> |
| <thead> |
| <row> |
| <entry>Predicate name</entry> |
| <entry>Description</entry> |
| <entry>Generator</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>is_classified</entry> |
| <entry>Generic <code>ctype</code> mask based classification</entry> |
| <entry> |
| <functionname>is_classified()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_space</entry> |
| <entry>Recognize spaces</entry> |
| <entry> |
| <functionname>is_space()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_alnum</entry> |
| <entry>Recognize alphanumeric characters</entry> |
| <entry> |
| <functionname>is_alnum()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_alpha</entry> |
| <entry>Recognize letters</entry> |
| <entry> |
| <functionname>is_alpha()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_cntrl</entry> |
| <entry>Recognize control characters</entry> |
| <entry> |
| <functionname>is_cntrl()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_digit</entry> |
| <entry>Recognize decimal digits</entry> |
| <entry> |
| <functionname>is_digit()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_graph</entry> |
| <entry>Recognize graphical characters</entry> |
| <entry> |
| <functionname>is_graph()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_lower</entry> |
| <entry>Recognize lower case characters</entry> |
| <entry> |
| <functionname>is_lower()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_print</entry> |
| <entry>Recognize printable characters</entry> |
| <entry> |
| <functionname>is_print()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_punct</entry> |
| <entry>Recognize punctuation characters</entry> |
| <entry> |
| <functionname>is_punct()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_upper</entry> |
| <entry>Recognize uppercase characters</entry> |
| <entry> |
| <functionname>is_upper()</functionname> |
| </entry> |
| </row> |
| <row> |
| <entry>is_xdigit</entry> |
| <entry>Recognize hexadecimal digits</entry> |
| <entry> |
| <functionname>is_xdigit()</functionname> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| </section> |