Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.
PrevUpHomeNext

Struct template basic_regex

boost::xpressive::basic_regex — Class template basic_regex<> is a class for holding a compiled regular expression.

Synopsis

template<typename BidiIter> 
struct basic_regex {
// types
typedef BidiIter iterator_type;
typedef iterator_value< BidiIter >::type char_type;
typedef std::basic_string< char_type > string_type;
typedef regex_constants::syntax_option_type flag_type;

// construct/copy/destruct
basic_regex();
basic_regex(basic_regex< BidiIter > const &);
template<typename Xpr> basic_regex(Xpr const &);
basic_regex& operator=(basic_regex< BidiIter > const &);
template<typename Xpr> basic_regex& operator=(Xpr const &);

// public member functions
std::size_t mark_count() const;
regex_id_type regex_id() const;
void swap(basic_regex< BidiIter > &) ;

// public static functions
static basic_regex< BidiIter > 
compile(string_type const &, flag_type = regex_constants::ECMAScript) ;
};

Description

basic_regex construct/copy/destruct

  1. basic_regex();

    Postconditions:

    regex_id() == 0

    mark_count() == 0

  2. basic_regex(basic_regex< BidiIter > const & that);

    Parameters:
    that

    The basic_regex object to copy.

    Postconditions:

    regex_id() == that.regex_id()

    mark_count() == that.mark_count()

  3. template<typename Xpr> basic_regex(Xpr const & xpr);

    Construct from a static regular expression.

    Parameters:
    xpr

    The static regular expression

    Requires:

    Xpr is the type of a static regular expression.

    Postconditions:

    regex_id() != 0

    mark_count() >= 0

  4. basic_regex& operator=(basic_regex< BidiIter > const & that);

    Parameters:
    that

    The basic_regex object to copy.

    Postconditions:

    regex_id() == that.regex_id()

    mark_count() == that.mark_count()

    Returns:

    *this

  5. template<typename Xpr> basic_regex& operator=(Xpr const & xpr);

    Construct from a static regular expression.

    Parameters:
    xpr

    The static regular expression.

    Requires:

    Xpr is the type of a static regular expression.

    Postconditions:

    regex_id() != 0

    mark_count() >= 0

    Returns:

    *this

    Throws: std::bad_alloc on out of memory

basic_regex public member functions

  1. std::size_t mark_count() const;

    Returns the count of capturing sub-expressions in this regular expression

  2. regex_id_type regex_id() const;

    Returns a token which uniquely identifies this regular expression.

  3. void swap(basic_regex< BidiIter > & that) ;

    Swaps the contents of this basic_regex object with another.

    Parameters:
    that

    The other basic_regex object.

    Throws: Will not throw.
    Notes:

    This is a shallow swap that does not do reference tracking. If you embed a basic_regex object by reference in another regular expression and then swap its contents with another basic_regex object, the change will not be visible to the enclosing regular expression. It is done this way to ensure that swap() cannot throw.

basic_regex public static functions

  1. static basic_regex< BidiIter > 
    compile(string_type const & str, 
    flag_type flags = regex_constants::ECMAScript) ;

    Factory method for building a regex object from a string. Equivalent to regex_compiler< BidiIter >().compile(str, flags);

    Parameters:
    flags

    Optional bitmask of type syntax_option_type to control how str is interpreted.

    str

    The std::basic_string containing the regular expression.

Copyright 2003, 2004 Eric Niebler

PrevUpHomeNext