Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
regex_primitives.hpp File Reference

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>
Include dependency graph for regex_primitives.hpp:
This graph shows which files directly or indirectly include this file:

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 = {{}}
 

Detailed Description

Contains the syntax elements for writing static regular expressions.

Macro Definition Documentation

#define BOOST_XPRESSIVE_GLOBAL_MARK_TAG (   NAME,
  VALUE 
)    boost::xpressive::mark_tag::proto_base_expr const NAME = {{VALUE}} \

INTERNAL ONLY.