// Boost string_algo library regex_find_format.hpp header file ---------------------------// | |
// Copyright Pavol Droba 2002-2003. | |
// | |
// Distributed under the Boost Software License, Version 1.0. | |
// (See accompanying file LICENSE_1_0.txt or copy at | |
// http://www.boost.org/LICENSE_1_0.txt) | |
// See http://www.boost.org/ for updates, documentation, and revision history. | |
#ifndef BOOST_STRING_REGEX_FIND_FORMAT_HPP | |
#define BOOST_STRING_REGEX_FIND_FORMAT_HPP | |
#include <boost/algorithm/string/config.hpp> | |
#include <boost/regex.hpp> | |
#include <boost/algorithm/string/detail/finder_regex.hpp> | |
#include <boost/algorithm/string/detail/formatter_regex.hpp> | |
/*! \file | |
Defines the \c regex_finder and \c regex_formatter generators. These two functors | |
are designed to work together. \c regex_formatter uses additional information | |
about a match contained in the regex_finder search result. | |
*/ | |
namespace boost { | |
namespace algorithm { | |
// regex_finder -----------------------------------------------// | |
//! "Regex" finder | |
/*! | |
Construct the \c regex_finder. Finder uses the regex engine to search | |
for a match. | |
Result is given in \c regex_search_result. This is an extension | |
of the iterator_range. In addition it containes match results | |
from the \c regex_search algorithm. | |
\param Rx A regular expression | |
\param MatchFlags Regex search options | |
\return An instance of the \c regex_finder object | |
*/ | |
template< | |
typename CharT, | |
typename RegexTraitsT> | |
inline detail::find_regexF< basic_regex<CharT, RegexTraitsT> > | |
regex_finder( | |
const basic_regex<CharT, RegexTraitsT>& Rx, | |
match_flag_type MatchFlags=match_default ) | |
{ | |
return detail:: | |
find_regexF< | |
basic_regex<CharT, RegexTraitsT> >( Rx, MatchFlags ); | |
} | |
// regex_formater ---------------------------------------------// | |
//! Regex formatter | |
/*! | |
Construct the \c regex_formatter. Regex formatter uses the regex engine to | |
format a match found by the \c regex_finder. | |
This formatted it designed to closely cooperate with \c regex_finder. | |
\param Format Regex format definition | |
\param Flags Format flags | |
\return An instance of the \c regex_formatter functor | |
*/ | |
template< | |
typename CharT, | |
typename TraitsT, typename AllocT > | |
inline detail::regex_formatF< std::basic_string< CharT, TraitsT, AllocT > > | |
regex_formatter( | |
const std::basic_string<CharT, TraitsT, AllocT>& Format, | |
match_flag_type Flags=format_default ) | |
{ | |
return | |
detail::regex_formatF< std::basic_string<CharT, TraitsT, AllocT> >( | |
Format, | |
Flags ); | |
} | |
} // namespace algorithm | |
// pull the names to the boost namespace | |
using algorithm::regex_finder; | |
using algorithm::regex_formatter; | |
} // namespace boost | |
#endif // BOOST_STRING_REGEX_FIND_FORMAT_HPP |