Contains the syntax elements for writing static regular expressions. More...
#include <vector>
#include <climits>
#include <boost/config.hpp>
#include <boost/assert.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/xpressive/detail/detail_fwd.hpp>
#include <boost/xpressive/detail/core/matchers.hpp>
#include <boost/xpressive/detail/core/regex_domain.hpp>
#include <boost/xpressive/detail/utility/ignore_unused.hpp>
#include <boost/proto/core.hpp>
#include <boost/proto/transform/arg.hpp>
#include <boost/proto/transform/when.hpp>
#include <boost/xpressive/detail/core/icase.hpp>
#include <boost/xpressive/detail/static/compile.hpp>
#include <boost/xpressive/detail/static/modifier.hpp>
Classes | |
struct | boost::xpressive::detail::push_back |
struct | boost::xpressive::detail::mark_number |
struct | boost::xpressive::detail::SubMatch |
struct | boost::xpressive::detail::SubMatchList |
struct | boost::xpressive::detail::skip_primitives |
struct | boost::xpressive::detail::skip_primitives::impl< Expr, State, Data > |
struct | boost::xpressive::detail::Primitives |
struct | boost::xpressive::detail::SkipGrammar |
struct | boost::xpressive::detail::skip_directive< Skip > |
struct | boost::xpressive::detail::skip_directive< Skip >::result< Sig > |
struct | boost::xpressive::detail::skip_directive< Skip >::result< This(Expr)> |
struct | boost::xpressive::mark_tag |
Sub-match placeholder type, used to create named captures in static regexes. More... | |
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::xpressive | |
boost::xpressive::detail | |
Macros | |
#define | BOOST_XPRESSIVE_GLOBAL_MARK_TAG(NAME, VALUE) boost::xpressive::mark_tag::proto_base_expr const NAME = {{VALUE}} \ |
INTERNAL ONLY. More... | |
Typedefs | |
typedef assert_word_placeholder < word_boundary< mpl::true_ > > | boost::xpressive::detail::assert_word_boundary |
typedef assert_word_placeholder < word_begin > | boost::xpressive::detail::assert_word_begin |
typedef assert_word_placeholder < word_end > | boost::xpressive::detail::assert_word_end |
typedef mpl::int_<-1 > | boost::xpressive::detail::minus_one |
Functions | |
template<typename Subs > | |
enable_if< mpl::and_ < proto::is_expr< Subs > , proto::matches< Subs, SubMatchList > >, std::vector < int > >::type | boost::xpressive::detail::to_vector (Subs const &subs) |
template<typename BidiIter > | |
proto::terminal < reference_wrapper < basic_regex< BidiIter > const > >::type const | boost::xpressive::by_ref (basic_regex< BidiIter > const &rex) |
Embed a regex object by reference. More... | |
template<typename Char > | |
proto::terminal < detail::range_placeholder < Char > >::type const | boost::xpressive::range (Char ch_min, Char ch_max) |
Match a range of characters. More... | |
template<typename Expr > | |
proto::result_of::make_expr < proto::tag::logical_not, proto::default_domain, Expr const & >::type const | boost::xpressive::optional (Expr const &expr) |
Make a sub-expression optional. More... | |
template<unsigned int Min, unsigned int Max, typename Expr > | |
proto::result_of::make_expr < detail::generic_quant_tag < Min, Max > , proto::default_domain, Expr const & >::type const | boost::xpressive::repeat (Expr const &expr) |
Repeat a sub-expression multiple times. More... | |
template<unsigned int Count, typename Expr2 > | |
proto::result_of::make_expr < detail::generic_quant_tag < Count, Count > , proto::default_domain, Expr2 const & >::type const | boost::xpressive::repeat (Expr2 const &expr2) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
template<typename Expr > | |
proto::result_of::make_expr < detail::keeper_tag, proto::default_domain, Expr const & >::type const | boost::xpressive::keep (Expr const &expr) |
Create an independent sub-expression. More... | |
template<typename Expr > | |
proto::result_of::make_expr < detail::lookahead_tag, proto::default_domain, Expr const & >::type const | boost::xpressive::before (Expr const &expr) |
Look-ahead assertion. More... | |
template<typename Expr > | |
proto::result_of::make_expr < detail::lookbehind_tag, proto::default_domain, Expr const & >::type const | boost::xpressive::after (Expr const &expr) |
Look-behind assertion. More... | |
template<typename Locale > | |
detail::modifier_op < detail::locale_modifier < Locale > > const | boost::xpressive::imbue (Locale const &loc) |
Specify a regex traits or a std::locale. More... | |
template<typename Skip > | |
detail::skip_directive< Skip > | boost::xpressive::skip (Skip const &skip) |
Specify which characters to skip when matching a regex. More... | |
void | boost::xpressive::detail::ignore_unused_regex_primitives () |
Variables | |
unsigned int const | boost::xpressive::repeat_max = UINT_MAX-1 |
INTERNAL ONLY (for backwards compatibility) More... | |
unsigned int const | boost::xpressive::inf = UINT_MAX-1 |
For infinite repetition of a sub-expression. More... | |
proto::terminal < detail::epsilon_matcher > ::type const | boost::xpressive::epsilon = {{}} |
INTERNAL ONLY (for backwards compatibility) More... | |
proto::terminal < detail::epsilon_matcher > ::type const | boost::xpressive::nil = {{}} |
Successfully matches nothing. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::alnum = {{"alnum", false}} |
Matches an alpha-numeric character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::alpha = {{"alpha", false}} |
Matches an alphabetic character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::blank = {{"blank", false}} |
Matches a blank (horizonal white-space) character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::cntrl = {{"cntrl", false}} |
Matches a control character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::digit = {{"digit", false}} |
Matches a digit character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::graph = {{"graph", false}} |
Matches a graph character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::lower = {{"lower", false}} |
Matches a lower-case character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::print = {{"print", false}} |
Matches a printable character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::punct = {{"punct", false}} |
Matches a punctuation character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::space = {{"space", false}} |
Matches a space character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::upper = {{"upper", false}} |
Matches an upper-case character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::xdigit = {{"xdigit", false}} |
Matches a hexadecimal digit character. More... | |
proto::terminal < detail::assert_bos_matcher > ::type const | boost::xpressive::bos = {{}} |
Beginning of sequence assertion. More... | |
proto::terminal < detail::assert_eos_matcher > ::type const | boost::xpressive::eos = {{}} |
End of sequence assertion. More... | |
proto::terminal < detail::assert_bol_placeholder > ::type const | boost::xpressive::bol = {{}} |
Beginning of line assertion. More... | |
proto::terminal < detail::assert_eol_placeholder > ::type const | boost::xpressive::eol = {{}} |
End of line assertion. More... | |
proto::terminal < detail::assert_word_begin > ::type const | boost::xpressive::bow = {{}} |
Beginning of word assertion. More... | |
proto::terminal < detail::assert_word_end > ::type const | boost::xpressive::eow = {{}} |
End of word assertion. More... | |
proto::terminal < detail::assert_word_boundary > ::type const | boost::xpressive::_b = {{}} |
Word boundary assertion. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::_w = {{"w", false}} |
Matches a word character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::_d = {{"d", false}} |
Matches a digit character. More... | |
proto::terminal < detail::posix_charset_placeholder > ::type const | boost::xpressive::_s = {{"s", false}} |
Matches a space character. More... | |
proto::terminal< char >::type const | boost::xpressive::_n = {'\n'} |
Matches a literal newline character, '\n'. More... | |
detail::logical_newline_xpression const | boost::xpressive::_ln = {{}} |
Matches a logical newline sequence. More... | |
proto::terminal < detail::any_matcher >::type const | boost::xpressive::_ = {{}} |
Matches any one character. More... | |
proto::terminal < detail::self_placeholder > ::type const | boost::xpressive::self = {{}} |
Reference to the current regex object. More... | |
detail::set_initializer_type const | boost::xpressive::set = {{}} |
Used to create character sets. More... | |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s0 = {{ 0 }} |
Sub-match placeholder, like $& in Perl. More... | |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s1 = {{ 1 }} |
Sub-match placeholder, like $1 in perl. More... | |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s2 = {{ 2 }} |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s3 = {{ 3 }} |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s4 = {{ 4 }} |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s5 = {{ 5 }} |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s6 = {{ 6 }} |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s7 = {{ 7 }} |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s8 = {{ 8 }} |
boost::xpressive::mark_tag::proto_base_expr const | boost::xpressive::s9 = {{ 9 }} |
proto::functional::as_expr const | boost::xpressive::as_xpr = {} |
Makes a literal into a regular expression. More... | |
proto::terminal < detail::attribute_placeholder < mpl::int_< 1 > > >::type const | boost::xpressive::a1 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 2 > > >::type const | boost::xpressive::a2 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 3 > > >::type const | boost::xpressive::a3 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 4 > > >::type const | boost::xpressive::a4 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 5 > > >::type const | boost::xpressive::a5 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 6 > > >::type const | boost::xpressive::a6 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 7 > > >::type const | boost::xpressive::a7 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 8 > > >::type const | boost::xpressive::a8 = {{}} |
proto::terminal < detail::attribute_placeholder < mpl::int_< 9 > > >::type const | boost::xpressive::a9 = {{}} |
Contains the syntax elements for writing static regular expressions.
#define BOOST_XPRESSIVE_GLOBAL_MARK_TAG | ( | NAME, | |
VALUE | |||
) | boost::xpressive::mark_tag::proto_base_expr const NAME = {{VALUE}} \ |
INTERNAL ONLY.