1 | // Boost string_algo library regex_find_format.hpp header file ---------------------------// |
---|
2 | |
---|
3 | // Copyright Pavol Droba 2002-2003. |
---|
4 | // |
---|
5 | // Distributed under the Boost Software License, Version 1.0. |
---|
6 | // (See accompanying file LICENSE_1_0.txt or copy at |
---|
7 | // http://www.boost.org/LICENSE_1_0.txt) |
---|
8 | |
---|
9 | // See http://www.boost.org/ for updates, documentation, and revision history. |
---|
10 | |
---|
11 | #ifndef BOOST_STRING_REGEX_FIND_FORMAT_HPP |
---|
12 | #define BOOST_STRING_REGEX_FIND_FORMAT_HPP |
---|
13 | |
---|
14 | #include <boost/algorithm/string/config.hpp> |
---|
15 | #include <boost/regex.hpp> |
---|
16 | #include <boost/algorithm/string/detail/finder_regex.hpp> |
---|
17 | #include <boost/algorithm/string/detail/formatter_regex.hpp> |
---|
18 | |
---|
19 | /*! \file |
---|
20 | Defines the \c regex_finder and \c regex_formatter generators. These two functors |
---|
21 | are designed to work together. \c regex_formatter uses additional information |
---|
22 | about a match contained in the regex_finder search result. |
---|
23 | */ |
---|
24 | |
---|
25 | namespace boost { |
---|
26 | namespace algorithm { |
---|
27 | |
---|
28 | // regex_finder -----------------------------------------------// |
---|
29 | |
---|
30 | //! "Regex" finder |
---|
31 | /*! |
---|
32 | Construct the \c regex_finder. Finder uses the regex engine to search |
---|
33 | for a match. |
---|
34 | Result is given in \c regex_search_result. This is an extension |
---|
35 | of the iterator_range. In addition it containes match results |
---|
36 | from the \c regex_search algorithm. |
---|
37 | |
---|
38 | \param Rx A regular expression |
---|
39 | \param MatchFlags Regex search options |
---|
40 | \return An instance of the \c regex_finder object |
---|
41 | */ |
---|
42 | template< |
---|
43 | typename CharT, |
---|
44 | typename RegexTraitsT> |
---|
45 | inline detail::find_regexF< basic_regex<CharT, RegexTraitsT> > |
---|
46 | regex_finder( |
---|
47 | const basic_regex<CharT, RegexTraitsT>& Rx, |
---|
48 | match_flag_type MatchFlags=match_default ) |
---|
49 | { |
---|
50 | return detail:: |
---|
51 | find_regexF< |
---|
52 | basic_regex<CharT, RegexTraitsT> >( Rx, MatchFlags ); |
---|
53 | } |
---|
54 | |
---|
55 | // regex_formater ---------------------------------------------// |
---|
56 | |
---|
57 | //! Regex formatter |
---|
58 | /*! |
---|
59 | Construct the \c regex_formatter. Regex formatter uses the regex engine to |
---|
60 | format a match found by the \c regex_finder. |
---|
61 | This formatted it designed to closely cooperate with \c regex_finder. |
---|
62 | |
---|
63 | \param Format Regex format definition |
---|
64 | \param Flags Format flags |
---|
65 | \return An instance of the \c regex_formatter functor |
---|
66 | */ |
---|
67 | template< |
---|
68 | typename CharT, |
---|
69 | typename TraitsT, typename AllocT > |
---|
70 | inline detail::regex_formatF< std::basic_string< CharT, TraitsT, AllocT > > |
---|
71 | regex_formatter( |
---|
72 | const std::basic_string<CharT, TraitsT, AllocT>& Format, |
---|
73 | match_flag_type Flags=format_default ) |
---|
74 | { |
---|
75 | return |
---|
76 | detail::regex_formatF< std::basic_string<CharT, TraitsT, AllocT> >( |
---|
77 | Format, |
---|
78 | Flags ); |
---|
79 | } |
---|
80 | |
---|
81 | } // namespace algorithm |
---|
82 | |
---|
83 | // pull the names to the boost namespace |
---|
84 | using algorithm::regex_finder; |
---|
85 | using algorithm::regex_formatter; |
---|
86 | |
---|
87 | } // namespace boost |
---|
88 | |
---|
89 | |
---|
90 | #endif // BOOST_STRING_REGEX_FIND_FORMAT_HPP |
---|