STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
basic_regex< _Elem, _RxTraits > Class Template Reference
Inheritance diagram for basic_regex< _Elem, _RxTraits >:
_Regex_base

Public Types

enum  { _EEN_VIS }
 
typedef basic_regex< _Elem, _RxTraits > _Myt
 
typedef _Elem value_type
 
typedef _RxTraits traits_type
 
typedef _RxTraits::locale_type locale_type
 
typedef _RxTraits::string_type string_type
 
typedef regex_constants::syntax_option_type flag_type
 

Public Member Functions

 basic_regex ()
 
 basic_regex (_In_z_ const _Elem *_Ptr, flag_type _Flags=regex_constants::ECMAScript)
 
 basic_regex (_In_reads_(_Count) const _Elem *_Ptr, size_t _Count, flag_type _Flags=regex_constants::ECMAScript)
 
template<class _STtraits , class _STalloc >
 basic_regex (const basic_string< _Elem, _STtraits, _STalloc > &_Str, flag_type _Flags=regex_constants::ECMAScript)
 
template<class _InIt >
 basic_regex (_InIt _First, _InIt _Last, flag_type _Flags)
 
template<class _InIt >
 basic_regex (_InIt _First, _InIt _Last)
 
 basic_regex (const _Myt &_Right)
 
 basic_regex (_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
 
_Mytoperator= (_XSTD initializer_list< _Elem > _Ilist)
 
_Mytassign (_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
 
 basic_regex (_Myt &&_Right) _NOEXCEPT
 
_Mytoperator= (_Myt &&_Right) _NOEXCEPT
 
void _Assign_rv (_Myt &&_Right)
 
_Mytassign (_Myt &&_Right) _NOEXCEPT
 
 ~basic_regex () _NOEXCEPT
 
_Mytoperator= (const _Myt &_Right)
 
_Mytoperator= (_In_z_ const _Elem *_Ptr)
 
template<class _STtraits , class _STalloc >
_Mytoperator= (const basic_string< _Elem, _STtraits, _STalloc > &_Str)
 
unsigned int _Loop_count () const
 
unsigned int mark_count () const
 
_Mytassign (const _Myt &_Right)
 
_Mytassign (_In_z_ const _Elem *_Ptr, flag_type _Flags=regex_constants::ECMAScript)
 
_Mytassign (_In_reads_(_Count) const _Elem *_Ptr, size_t _Count, flag_type _Flags=regex_constants::ECMAScript)
 
template<class _STtraits , class _STalloc >
_Mytassign (const basic_string< _Elem, _STtraits, _STalloc > &_Str, flag_type _Flags=regex_constants::ECMAScript)
 
template<class _InIt >
_Mytassign (_InIt _First, _InIt _Last, flag_type _Flags=regex_constants::ECMAScript)
 
flag_type flags () const
 
locale_type imbue (locale_type _Loc)
 
locale_type getloc () const
 
void swap (_Myt &_Right) _THROW0()
 
_Root_node_Get () const
 
bool _Empty () const
 
const _RxTraits & _Get_traits () const
 

Static Public Attributes

static const flag_type icase = regex_constants::icase
 
static const flag_type nosubs = regex_constants::nosubs
 
static const flag_type optimize = regex_constants::optimize
 
static const flag_type collate = regex_constants::collate
 
static const flag_type ECMAScript = regex_constants::ECMAScript
 
static const flag_type basic = regex_constants::basic
 
static const flag_type extended = regex_constants::extended
 
static const flag_type awk = regex_constants::awk
 
static const flag_type grep = regex_constants::grep
 
static const flag_type egrep = regex_constants::egrep
 

Private Member Functions

void _Tidy ()
 
template<class _InIt >
void _Reset (_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
 
template<class _FwdIt >
void _Reset (_FwdIt _First, _FwdIt _Last, flag_type _Flags, forward_iterator_tag)
 
void _Reset (_Root_node *_Rx)
 

Private Attributes

_Root_node_Rep
 
_RxTraits _Traits
 

Member Typedef Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
typedef basic_regex<_Elem, _RxTraits> basic_regex< _Elem, _RxTraits >::_Myt
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
typedef regex_constants::syntax_option_type basic_regex< _Elem, _RxTraits >::flag_type
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
typedef _RxTraits::locale_type basic_regex< _Elem, _RxTraits >::locale_type
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
typedef _RxTraits::string_type basic_regex< _Elem, _RxTraits >::string_type
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
typedef _RxTraits basic_regex< _Elem, _RxTraits >::traits_type
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
typedef _Elem basic_regex< _Elem, _RxTraits >::value_type

Member Enumeration Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
anonymous enum
Enumerator
_EEN_VIS 
2242  {_EEN_VIS =
2243  _ENHANCED_REGEX_VISUALIZER}; // helper for expression evaluator
#define _ENHANCED_REGEX_VISUALIZER
Definition: regex:42
Definition: regex:2242

Constructor & Destructor Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( )
inline
2257  : _Rep(0)
2258  { // construct empty object
2259  }
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( _In_z_ const _Elem *  _Ptr,
flag_type  _Flags = regex_constants::ECMAScript 
)
inlineexplicit
2263  : _Rep(0)
2264  { // construct from null terminated character sequence
2265  _Reset(_Ptr, _Ptr + _RxTraits::length(_Ptr),
2266  _Flags, random_access_iterator_tag());
2267  }
Definition: xutility:318
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( _In_reads_(_Count) const _Elem *  _Ptr,
size_t  _Count,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2271  : _Rep(0)
2272  { // construct from character sequence
2273  if (_Ptr == 0)
2274  _Xregex_error(regex_constants::error_parse);
2275  _Reset(_Ptr, _Ptr + _Count, _Flags, random_access_iterator_tag());
2276  }
Definition: xutility:318
Definition: regex:188
_Diff _Count
Definition: algorithm:1941
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _STtraits , class _STalloc >
basic_regex< _Elem, _RxTraits >::basic_regex ( const basic_string< _Elem, _STtraits, _STalloc > &  _Str,
flag_type  _Flags = regex_constants::ECMAScript 
)
inlineexplicit
2283  : _Rep(0)
2284  { // construct from string object
2285  _Reset(_Str.begin(), _Str.end(), _Flags, random_access_iterator_tag());
2286  }
Definition: xutility:318
iterator end() _NOEXCEPT
Definition: xstring:1608
iterator begin() _NOEXCEPT
Definition: xstring:1598
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _InIt >
basic_regex< _Elem, _RxTraits >::basic_regex ( _InIt  _First,
_InIt  _Last,
flag_type  _Flags 
)
inline
2291  : _Rep(0)
2292  { // construct from pair of iterators
2293  _DEBUG_RANGE(_First, _Last);
2294  _Reset(_First, _Last, _Flags, _Iter_cat(_First));
2295  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:467
iterator_traits< _Iter >::iterator_category _Iter_cat(const _Iter &)
Definition: xutility:404
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _InIt >
basic_regex< _Elem, _RxTraits >::basic_regex ( _InIt  _First,
_InIt  _Last 
)
inline
2299  : _Rep(0)
2300  { // construct from pair of iterators
2301  _DEBUG_RANGE(_First, _Last);
2303  _Iter_cat(_First));
2304  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:467
Definition: regex:136
iterator_traits< _Iter >::iterator_category _Iter_cat(const _Iter &)
Definition: xutility:404
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( const _Myt _Right)
inline
2309  : _Rep(0), _Traits(_Right._Traits),
2310  _Visualization(_Right._Visualization)
2311 
2312  #else /* _ENHANCED_REGEX_VISUALIZER */
2313  : _Rep(0), _Traits(_Right._Traits)
2314  #endif /* _ENHANCED_REGEX_VISUALIZER */
2315 
2316  { // construct copy of _Right
2317  _Reset(_Right._Rep);
2318  }
_RxTraits _Traits
Definition: regex:2497
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
_Root_node * _Rep
Definition: regex:2496
const _Ty & _Right
Definition: algorithm:4087
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( _XSTD initializer_list< _Elem >  _Ilist,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2322  : _Rep(0)
2323  { // construct from initializer_list
2324  _Reset(_Ilist.begin(), _Ilist.end(), _Flags,
2326  }
Definition: xutility:318
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( _Myt &&  _Right)
inline
2342  : _Rep(0)
2343  { // construct by moving _Right
2345  }
_OutIt move(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2447
void _Assign_rv(_Myt &&_Right)
Definition: regex:2353
_Root_node * _Rep
Definition: regex:2496
const _Ty & _Right
Definition: algorithm:4087
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::~basic_regex ( )
inline
2375  { // destroy the object
2376  _Tidy();
2377  }
void _Tidy()
Definition: regex:2503

Member Function Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Assign_rv ( _Myt &&  _Right)
inline
2354  { // assign by moving _Right
2355  if (this != &_Right)
2356  { // clear this and steal from _Right
2357  _Tidy();
2358 
2359  #if _ENHANCED_REGEX_VISUALIZER
2360  _Visualization = _STD move(_Right._Visualization);
2361  #endif /* _ENHANCED_REGEX_VISUALIZER */
2362 
2363  _Rep = _Right._Rep;
2364  _Right._Rep = 0;
2365  }
2366  }
_OutIt move(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2447
void _Tidy()
Definition: regex:2503
_Root_node * _Rep
Definition: regex:2496
const _Ty & _Right
Definition: algorithm:4087
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
bool basic_regex< _Elem, _RxTraits >::_Empty ( ) const
inline
2486  { // test if empty
2487  return (_Rep == 0);
2488  }
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Root_node* basic_regex< _Elem, _RxTraits >::_Get ( ) const
inline
2481  { // return pointer to root node
2482  return (_Rep);
2483  }
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const _RxTraits& basic_regex< _Elem, _RxTraits >::_Get_traits ( ) const
inline
2491  { // return reference to traits
2492  return (_Traits);
2493  }
_RxTraits _Traits
Definition: regex:2497
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
unsigned int basic_regex< _Elem, _RxTraits >::_Loop_count ( ) const
inline
2402  { // return number of loops
2403  return (_Rep != 0 ? _Rep->_Loops : 0);
2404  }
unsigned int _Loops
Definition: regex:1668
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _InIt >
void basic_regex< _Elem, _RxTraits >::_Reset ( _InIt  _First,
_InIt  _Last,
flag_type  _Flags,
input_iterator_tag   
)
inlineprivate
2513  { // build regular expression from input iterators
2515 
2516  _Reset(_Str.begin(), _Str.end(),
2517  _Flags, forward_iterator_tag());
2518  }
Definition: xstring:21
Definition: xutility:308
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _FwdIt >
void basic_regex< _Elem, _RxTraits >::_Reset ( _FwdIt  _First,
_FwdIt  _Last,
flag_type  _Flags,
forward_iterator_tag   
)
inlineprivate
2523  { // build regular expression from forward iterators
2524  #if _ENHANCED_REGEX_VISUALIZER
2525  _Visualization.assign(_First, _Last);
2526  #endif /* _ENHANCED_REGEX_VISUALIZER */
2527 
2529  _Prs(_Traits, _First, _Last, _Flags);
2530  _Root_node *_Rx = _Prs._Compile();
2531  _Reset(_Rx);
2532  }
Definition: regex:2109
_RxTraits _Traits
Definition: regex:2497
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
Definition: regex:1658
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Reset ( _Root_node _Rx)
inlineprivate
2535  { // build regular expression holding root node _Rx
2536  if (_Rx != 0)
2537  ++_Rx->_Refs;
2538  _Tidy();
2539  _Rep = _Rx;
2540  }
unsigned int _Refs
Definition: regex:1670
void _Tidy()
Definition: regex:2503
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Tidy ( )
inlineprivate
2504  { // free all storage
2505  if (_Rep != 0 && --_Rep->_Refs == 0)
2507  _Rep = 0;
2508  }
void _Destroy_node(_Node_base *_Nx, _Node_base *_Ne=0)
Definition: regex:1645
unsigned int _Refs
Definition: regex:1670
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( _XSTD initializer_list< _Elem >  _Ilist,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2335  { // replace with regular expression in initializer_list
2336  _Reset(_Ilist.begin(), _Ilist.end(),
2337  _Flags, random_access_iterator_tag());
2338  return (*this);
2339  }
Definition: xutility:318
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( _Myt &&  _Right)
inline
2369  { // assign by moving _Right
2371  return (*this);
2372  }
_OutIt move(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2447
void _Assign_rv(_Myt &&_Right)
Definition: regex:2353
const _Ty & _Right
Definition: algorithm:4087
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( const _Myt _Right)
inline
2412  { // replace with copy of _Right
2413  #if _ENHANCED_REGEX_VISUALIZER
2414  _Visualization = _Right._Visualization;
2415  #endif /* _ENHANCED_REGEX_VISUALIZER */
2416 
2417  _Reset(_Right._Rep);
2418  return (*this);
2419  }
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
const _Ty & _Right
Definition: algorithm:4087
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( _In_z_ const _Elem *  _Ptr,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2423  { // replace with regular expression constructed from _Ptr
2424  return (assign(_Ptr, _RxTraits::length(_Ptr), _Flags));
2425  }
_Myt & assign(_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2333
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( _In_reads_(_Count) const _Elem *  _Ptr,
size_t  _Count,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2429  { // replace with regular expression constructed from _Ptr, _Count
2430  _Reset(_Ptr, _Ptr + _Count,
2431  _Flags, random_access_iterator_tag());
2432  return (*this);
2433  }
Definition: xutility:318
_Diff _Count
Definition: algorithm:1941
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _STtraits , class _STalloc >
_Myt& basic_regex< _Elem, _RxTraits >::assign ( const basic_string< _Elem, _STtraits, _STalloc > &  _Str,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2440  { // replace with regular expression constructed from _Str
2441  _Reset(_Str.begin(), _Str.end(),
2442  _Flags, random_access_iterator_tag());
2443  return (*this);
2444  }
Definition: xutility:318
iterator end() _NOEXCEPT
Definition: xstring:1608
iterator begin() _NOEXCEPT
Definition: xstring:1598
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _InIt >
_Myt& basic_regex< _Elem, _RxTraits >::assign ( _InIt  _First,
_InIt  _Last,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2449  { // replace with regular expression constructed from [_First, _Last)
2450  _DEBUG_RANGE(_First, _Last);
2451  _Reset(_First, _Last, _Flags, _Iter_cat(_First));
2452  return (*this);
2453  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:467
iterator_traits< _Iter >::iterator_category _Iter_cat(const _Iter &)
Definition: xutility:404
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
flag_type basic_regex< _Elem, _RxTraits >::flags ( ) const
inline
2456  { // return syntax option flags
2457  return (_Rep ? _Rep->_Fl : (flag_type)0);
2458  }
regex_constants::syntax_option_type flag_type
Definition: regex:2240
regex_constants::syntax_option_type _Fl
Definition: regex:1667
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
locale_type basic_regex< _Elem, _RxTraits >::getloc ( ) const
inline
2467  { // return copy of locale object
2468  return (_Traits.getloc());
2469  }
_RxTraits _Traits
Definition: regex:2497
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
locale_type basic_regex< _Elem, _RxTraits >::imbue ( locale_type  _Loc)
inline
2461  { // clear regular expression and set locale to argument
2462  _Tidy();
2463  return (_Traits.imbue(_Loc));
2464  }
_RxTraits _Traits
Definition: regex:2497
void _Tidy()
Definition: regex:2503
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
unsigned int basic_regex< _Elem, _RxTraits >::mark_count ( ) const
inline
2407  { // return number of capture groups
2408  return (_Rep != 0 ? _Rep->_Marks - 1 : 0);
2409  }
unsigned int _Marks
Definition: regex:1669
_Root_node * _Rep
Definition: regex:2496
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _XSTD initializer_list< _Elem >  _Ilist)
inline
2329  { // replace with regular expression in initializer_list
2330  return (assign(_Ilist));
2331  }
_Myt & assign(_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2333
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _Myt &&  _Right)
inline
2348  { // assign by moving _Right
2350  return (*this);
2351  }
_OutIt move(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2447
void _Assign_rv(_Myt &&_Right)
Definition: regex:2353
const _Ty & _Right
Definition: algorithm:4087
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( const _Myt _Right)
inline
2380  { // replace with copy of _Right
2381  return (assign(_Right));
2382  }
_Myt & assign(_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2333
const _Ty & _Right
Definition: algorithm:4087
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _In_z_ const _Elem *  _Ptr)
inline
2385  { // replace with regular expression constructed from _Ptr
2386  _Reset(_Ptr, _Ptr + _RxTraits::length(_Ptr),
2388  return (*this);
2389  }
Definition: xutility:318
static const flag_type ECMAScript
Definition: regex:2249
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _STtraits , class _STalloc >
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( const basic_string< _Elem, _STtraits, _STalloc > &  _Str)
inline
2395  { // replace with regular expression constructed from _Str
2396  _Reset(_Str.begin(), _Str.end(),
2398  return (*this);
2399  }
Definition: xutility:318
iterator end() _NOEXCEPT
Definition: xstring:1608
static const flag_type ECMAScript
Definition: regex:2249
iterator begin() _NOEXCEPT
Definition: xstring:1598
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2511
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::swap ( _Myt _Right)
inline
2472  { // exchange contents with _Right
2473  _STD swap(_Rep, _Right._Rep);
2474 
2475  #if _ENHANCED_REGEX_VISUALIZER
2476  _Visualization.swap(_Right._Visualization);
2477  #endif /* _ENHANCED_REGEX_VISUALIZER */
2478  }
void swap(_Myt &_Right) _THROW0()
Definition: regex:2471
_Root_node * _Rep
Definition: regex:2496
const _Ty & _Right
Definition: algorithm:4087

Member Data Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Root_node* basic_regex< _Elem, _RxTraits >::_Rep
private
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_RxTraits basic_regex< _Elem, _RxTraits >::_Traits
private
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::awk = regex_constants::awk
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::basic = regex_constants::basic
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::collate = regex_constants::collate
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::ECMAScript = regex_constants::ECMAScript
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::egrep = regex_constants::egrep
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::extended = regex_constants::extended
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::grep = regex_constants::grep
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::icase = regex_constants::icase
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::nosubs = regex_constants::nosubs
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const flag_type basic_regex< _Elem, _RxTraits >::optimize = regex_constants::optimize
static

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