Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::xpressive::regex_iterator< BidiIter > Struct Template Reference

#include <xpressive_fwd.hpp>

Public Types

typedef basic_regex< BidiIter > regex_type
 
typedef match_results< BidiIter > value_type
 
typedef iterator_difference
< BidiIter >::type 
difference_type
 
typedef value_type const * pointer
 
typedef value_type const & reference
 
typedef std::forward_iterator_tag iterator_category
 
typedef
detail::regex_iterator_impl
< BidiIter > 
impl_type_
 INTERNAL ONLY. More...
 

Public Member Functions

 regex_iterator ()
 
 regex_iterator (BidiIter begin, BidiIter end, basic_regex< BidiIter > const &rex, regex_constants::match_flag_type flags=regex_constants::match_default)
 
template<typename LetExpr >
 regex_iterator (BidiIter begin, BidiIter end, basic_regex< BidiIter > const &rex, detail::let_< LetExpr > const &args, regex_constants::match_flag_type flags=regex_constants::match_default)
 
 regex_iterator (regex_iterator< BidiIter > const &that)
 
regex_iterator< BidiIter > & operator= (regex_iterator< BidiIter > const &that)
 
value_type const & operator* () const
 
value_type const * operator-> () const
 
regex_iterator< BidiIter > & operator++ ()
 If what.prefix().first != what[0].second and if the element match_prev_avail is not set in flags then sets it. More...
 
regex_iterator< BidiIter > operator++ (int)
 

Friends

bool operator== (regex_iterator< BidiIter > const &left, regex_iterator< BidiIter > const &right)
 
bool operator!= (regex_iterator< BidiIter > const &left, regex_iterator< BidiIter > const &right)
 

Member Typedef Documentation

template<typename BidiIter>
typedef iterator_difference<BidiIter>::type boost::xpressive::regex_iterator< BidiIter >::difference_type
template<typename BidiIter>
typedef detail::regex_iterator_impl<BidiIter> boost::xpressive::regex_iterator< BidiIter >::impl_type_

INTERNAL ONLY.

template<typename BidiIter>
typedef std::forward_iterator_tag boost::xpressive::regex_iterator< BidiIter >::iterator_category
template<typename BidiIter>
typedef value_type const* boost::xpressive::regex_iterator< BidiIter >::pointer
template<typename BidiIter>
typedef value_type const& boost::xpressive::regex_iterator< BidiIter >::reference
template<typename BidiIter>
typedef basic_regex<BidiIter> boost::xpressive::regex_iterator< BidiIter >::regex_type
template<typename BidiIter>
typedef match_results<BidiIter> boost::xpressive::regex_iterator< BidiIter >::value_type

Constructor & Destructor Documentation

template<typename BidiIter>
boost::xpressive::regex_iterator< BidiIter >::regex_iterator ( )
inline
template<typename BidiIter>
boost::xpressive::regex_iterator< BidiIter >::regex_iterator ( BidiIter  begin,
BidiIter  end,
basic_regex< BidiIter > const &  rex,
regex_constants::match_flag_type  flags = regex_constants::match_default 
)
inline
template<typename BidiIter>
template<typename LetExpr >
boost::xpressive::regex_iterator< BidiIter >::regex_iterator ( BidiIter  begin,
BidiIter  end,
basic_regex< BidiIter > const &  rex,
detail::let_< LetExpr > const &  args,
regex_constants::match_flag_type  flags = regex_constants::match_default 
)
inline
template<typename BidiIter>
boost::xpressive::regex_iterator< BidiIter >::regex_iterator ( regex_iterator< BidiIter > const &  that)
inline

Member Function Documentation

template<typename BidiIter>
value_type const& boost::xpressive::regex_iterator< BidiIter >::operator* ( ) const
inline
template<typename BidiIter>
regex_iterator<BidiIter>& boost::xpressive::regex_iterator< BidiIter >::operator++ ( void  )
inline

If what.prefix().first != what[0].second and if the element match_prev_avail is not set in flags then sets it.

Then behaves as if by calling regex_search(what[0].second, end, what, *pre, flags), with the following variation: in the event that the previous match found was of zero length (what[0].length() == 0) then attempts to find a non-zero length match starting at what[0].second, only if that fails and provided what[0].second != suffix().second does it look for a (possibly zero length) match starting from what[0].second + 1. If no further match is found then sets *this equal to the end of sequence iterator.

Postcondition
(*this)->size() == pre->mark_count() + 1
(*this)->empty() == false
(*this)->prefix().first == An iterator denoting the end point of the previous match found
(*this)->prefix().last == (**this)[0].first
(*this)->prefix().matched == (*this)->prefix().first != (*this)->prefix().second
(*this)->suffix().first == (**this)[0].second
(*this)->suffix().last == end
(*this)->suffix().matched == (*this)->suffix().first != (*this)->suffix().second
(**this)[0].first == The starting iterator for this match.
(**this)[0].second == The ending iterator for this match.
(**this)[0].matched == true if a full match was found, and false if it was a partial match (found as a result of the match_partial flag being set).
(**this)[n].first == For all integers n < (*this)->size(), the start of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then end.
(**this)[n].second == For all integers n < (*this)->size(), the end of the sequence that matched sub-expression n. Alternatively, if sub-expression n did not participate in the match, then end.
(**this)[n].matched == For all integers n < (*this)->size(), true if sub-expression n participated in the match, false otherwise.
(*this)->position() == The distance from the start of the original sequence being iterated, to the start of this match.
template<typename BidiIter>
regex_iterator<BidiIter> boost::xpressive::regex_iterator< BidiIter >::operator++ ( int  )
inline
template<typename BidiIter>
value_type const* boost::xpressive::regex_iterator< BidiIter >::operator-> ( ) const
inline
template<typename BidiIter>
regex_iterator<BidiIter>& boost::xpressive::regex_iterator< BidiIter >::operator= ( regex_iterator< BidiIter > const &  that)
inline

Friends And Related Function Documentation

template<typename BidiIter>
bool operator!= ( regex_iterator< BidiIter > const &  left,
regex_iterator< BidiIter > const &  right 
)
friend
template<typename BidiIter>
bool operator== ( regex_iterator< BidiIter > const &  left,
regex_iterator< BidiIter > const &  right 
)
friend

The documentation for this struct was generated from the following file: