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 _Container_base0

Public Types

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
 
- Public Member Functions inherited from _Container_base0
void _Orphan_all ()
 
void _Swap_all (_Container_base0 &)
 

Static Public Attributes

static constexpr flag_type icase = regex_constants::icase
 
static constexpr flag_type nosubs = regex_constants::nosubs
 
static constexpr flag_type optimize = regex_constants::optimize
 
static constexpr flag_type collate = regex_constants::collate
 
static constexpr flag_type ECMAScript = regex_constants::ECMAScript
 
static constexpr flag_type basic = regex_constants::basic
 
static constexpr flag_type extended = regex_constants::extended
 
static constexpr flag_type awk = regex_constants::awk
 
static constexpr flag_type grep = regex_constants::grep
 
static constexpr 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

Constructor & Destructor Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( )
inline
2287  : _Rep(0)
2288  { // construct empty object
2289  }
_Root_node * _Rep
Definition: regex:2525
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
2293  : _Rep(0)
2294  { // construct from null terminated character sequence
2295  _Reset(_Ptr, _Ptr + _RxTraits::length(_Ptr),
2296  _Flags, random_access_iterator_tag());
2297  }
Definition: xutility:529
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
_Root_node * _Rep
Definition: regex:2525
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
2301  : _Rep(0)
2302  { // construct from character sequence
2303  if (_Ptr == 0)
2305  _Reset(_Ptr, _Ptr + _Count, _Flags, random_access_iterator_tag());
2306  }
Definition: xutility:529
Definition: regex:151
unsigned int _Count
Definition: xcomplex:668
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Xregex_error(regex_constants::error_type _Code)
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
_Root_node * _Rep
Definition: regex:2525
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
2313  : _Rep(0)
2314  { // construct from string object
2315  _Reset(_Str.begin(), _Str.end(), _Flags, random_access_iterator_tag());
2316  }
Definition: xutility:529
iterator end() _NOEXCEPT
Definition: xstring:1605
iterator begin() _NOEXCEPT
Definition: xstring:1593
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
_Root_node * _Rep
Definition: regex:2525
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
2321  : _Rep(0)
2322  { // construct from pair of iterators
2323  _DEBUG_RANGE(_First, _Last);
2324  _Reset(_First, _Last, _Flags, _Iter_cat_t<_InIt>());
2325  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:822
typename iterator_traits< _Iter >::iterator_category _Iter_cat_t
Definition: xutility:655
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _InIt >
basic_regex< _Elem, _RxTraits >::basic_regex ( _InIt  _First,
_InIt  _Last 
)
inline
2329  : _Rep(0)
2330  { // construct from pair of iterators
2331  _DEBUG_RANGE(_First, _Last);
2333  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:822
typename iterator_traits< _Iter >::iterator_category _Iter_cat_t
Definition: xutility:655
Definition: regex:100
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( const _Myt _Right)
inline
2338  : _Rep(0), _Traits(_Right._Traits),
2339  _Visualization(_Right._Visualization)
2340 
2341  #else /* _ENHANCED_REGEX_VISUALIZER */
2342  : _Rep(0), _Traits(_Right._Traits)
2343  #endif /* _ENHANCED_REGEX_VISUALIZER */
2344 
2345  { // construct copy of _Right
2346  _Reset(_Right._Rep);
2347  }
_RxTraits _Traits
Definition: regex:2526
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
_Root_node * _Rep
Definition: regex:2525
constexpr const _Ty &() _Right
Definition: algorithm:3591
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
2351  : _Rep(0)
2352  { // construct from initializer_list
2353  _Reset(_Ilist.begin(), _Ilist.end(), _Flags,
2355  }
Definition: xutility:529
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( _Myt &&  _Right)
inline
2371  : _Rep(0)
2372  { // construct by moving _Right
2374  }
void _Assign_rv(_Myt &&_Right)
Definition: regex:2382
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
_Root_node * _Rep
Definition: regex:2525
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::~basic_regex ( )
inline
2404  { // destroy the object
2405  _Tidy();
2406  }
void _Tidy()
Definition: regex:2532

Member Function Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Assign_rv ( _Myt &&  _Right)
inline
2383  { // assign by moving _Right
2384  if (this != &_Right)
2385  { // clear this and steal from _Right
2386  _Tidy();
2387 
2388  #if _ENHANCED_REGEX_VISUALIZER
2389  _Visualization = _STD move(_Right._Visualization);
2390  #endif /* _ENHANCED_REGEX_VISUALIZER */
2391 
2392  _Rep = _Right._Rep;
2393  _Right._Rep = 0;
2394  }
2395  }
void _Tidy()
Definition: regex:2532
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
_Root_node * _Rep
Definition: regex:2525
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
bool basic_regex< _Elem, _RxTraits >::_Empty ( ) const
inline
2515  { // test if empty
2516  return (_Rep == 0);
2517  }
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Root_node* basic_regex< _Elem, _RxTraits >::_Get ( ) const
inline
2510  { // return pointer to root node
2511  return (_Rep);
2512  }
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const _RxTraits& basic_regex< _Elem, _RxTraits >::_Get_traits ( ) const
inline
2520  { // return reference to traits
2521  return (_Traits);
2522  }
_RxTraits _Traits
Definition: regex:2526
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
unsigned int basic_regex< _Elem, _RxTraits >::_Loop_count ( ) const
inline
2431  { // return number of loops
2432  return (_Rep != 0 ? _Rep->_Loops : 0);
2433  }
unsigned int _Loops
Definition: regex:1695
_Root_node * _Rep
Definition: regex:2525
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
2543  { // build regular expression from input iterators
2545 
2546  _Reset(_Str.begin(), _Str.end(),
2547  _Flags, forward_iterator_tag());
2548  }
Definition: xstring:21
Definition: xutility:519
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
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
2553  { // build regular expression from forward iterators
2554  #if _ENHANCED_REGEX_VISUALIZER
2555  _Visualization.assign(_First, _Last);
2556  #endif /* _ENHANCED_REGEX_VISUALIZER */
2557 
2559  _Prs(_Traits, _First, _Last, _Flags);
2560  _Root_node *_Rx = _Prs._Compile();
2561  _Reset(_Rx);
2562  }
Definition: regex:2142
_RxTraits _Traits
Definition: regex:2526
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
Definition: regex:1683
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Reset ( _Root_node _Rx)
inlineprivate
2565  { // build regular expression holding root node _Rx
2566  if (_Rx != 0)
2567  _MT_INCR(reinterpret_cast<_Atomic_counter_t&>(_Rx->_Refs));
2568  _Tidy();
2569  _Rep = _Rx;
2570  }
#define _MT_INCR(x)
Definition: xmemory0:1161
unsigned int _Refs
Definition: regex:1697
void _Tidy()
Definition: regex:2532
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Tidy ( )
inlineprivate
2533  { // free all storage
2534  if (_Rep != 0 && _MT_DECR(
2535  reinterpret_cast<_Atomic_counter_t&>(_Rep->_Refs)) == 0)
2537  _Rep = 0;
2538  }
void _Destroy_node(_Node_base *_Nx, _Node_base *_Ne=0)
Definition: regex:1670
unsigned int _Refs
Definition: regex:1697
#define _MT_DECR(x)
Definition: xmemory0:1163
_Root_node * _Rep
Definition: regex:2525
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
2364  { // replace with regular expression in initializer_list
2365  _Reset(_Ilist.begin(), _Ilist.end(),
2366  _Flags, random_access_iterator_tag());
2367  return (*this);
2368  }
Definition: xutility:529
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( _Myt &&  _Right)
inline
2398  { // assign by moving _Right
2400  return (*this);
2401  }
void _Assign_rv(_Myt &&_Right)
Definition: regex:2382
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( const _Myt _Right)
inline
2441  { // replace with copy of _Right
2442  #if _ENHANCED_REGEX_VISUALIZER
2443  _Visualization = _Right._Visualization;
2444  #endif /* _ENHANCED_REGEX_VISUALIZER */
2445 
2446  _Reset(_Right._Rep);
2447  return (*this);
2448  }
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
constexpr const _Ty &() _Right
Definition: algorithm:3591
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
2452  { // replace with regular expression constructed from _Ptr
2453  return (assign(_Ptr, _RxTraits::length(_Ptr), _Flags));
2454  }
_Myt & assign(_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2362
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
2458  { // replace with regular expression constructed from _Ptr, _Count
2459  _Reset(_Ptr, _Ptr + _Count,
2460  _Flags, random_access_iterator_tag());
2461  return (*this);
2462  }
Definition: xutility:529
unsigned int _Count
Definition: xcomplex:668
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
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
2469  { // replace with regular expression constructed from _Str
2470  _Reset(_Str.begin(), _Str.end(),
2471  _Flags, random_access_iterator_tag());
2472  return (*this);
2473  }
Definition: xutility:529
iterator end() _NOEXCEPT
Definition: xstring:1605
iterator begin() _NOEXCEPT
Definition: xstring:1593
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
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
2478  { // replace with regular expression constructed from [_First, _Last)
2479  _DEBUG_RANGE(_First, _Last);
2480  _Reset(_First, _Last, _Flags, _Iter_cat_t<_InIt>());
2481  return (*this);
2482  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:822
typename iterator_traits< _Iter >::iterator_category _Iter_cat_t
Definition: xutility:655
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
flag_type basic_regex< _Elem, _RxTraits >::flags ( ) const
inline
2485  { // return syntax option flags
2486  return (_Rep ? _Rep->_Fl : (flag_type)0);
2487  }
regex_constants::syntax_option_type flag_type
Definition: regex:2273
regex_constants::syntax_option_type _Fl
Definition: regex:1694
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
locale_type basic_regex< _Elem, _RxTraits >::getloc ( ) const
inline
2496  { // return copy of locale object
2497  return (_Traits.getloc());
2498  }
_RxTraits _Traits
Definition: regex:2526
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
locale_type basic_regex< _Elem, _RxTraits >::imbue ( locale_type  _Loc)
inline
2490  { // clear regular expression and set locale to argument
2491  _Tidy();
2492  return (_Traits.imbue(_Loc));
2493  }
_RxTraits _Traits
Definition: regex:2526
void _Tidy()
Definition: regex:2532
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
unsigned int basic_regex< _Elem, _RxTraits >::mark_count ( ) const
inline
2436  { // return number of capture groups
2437  return (_Rep != 0 ? _Rep->_Marks - 1 : 0);
2438  }
unsigned int _Marks
Definition: regex:1696
_Root_node * _Rep
Definition: regex:2525
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _XSTD initializer_list< _Elem >  _Ilist)
inline
2358  { // replace with regular expression in initializer_list
2359  return (assign(_Ilist));
2360  }
_Myt & assign(_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2362
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _Myt &&  _Right)
inline
2377  { // assign by moving _Right
2379  return (*this);
2380  }
void _Assign_rv(_Myt &&_Right)
Definition: regex:2382
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( const _Myt _Right)
inline
2409  { // replace with copy of _Right
2410  return (assign(_Right));
2411  }
_Myt & assign(_XSTD initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2362
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _In_z_ const _Elem *  _Ptr)
inline
2414  { // replace with regular expression constructed from _Ptr
2415  _Reset(_Ptr, _Ptr + _RxTraits::length(_Ptr),
2417  return (*this);
2418  }
Definition: xutility:529
static constexpr flag_type ECMAScript
Definition: regex:2279
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
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
2424  { // replace with regular expression constructed from _Str
2425  _Reset(_Str.begin(), _Str.end(),
2427  return (*this);
2428  }
Definition: xutility:529
iterator end() _NOEXCEPT
Definition: xstring:1605
static constexpr flag_type ECMAScript
Definition: regex:2279
iterator begin() _NOEXCEPT
Definition: xstring:1593
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2541
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::swap ( _Myt _Right)
inline
2501  { // exchange contents with _Right
2502  _STD swap(_Rep, _Right._Rep);
2503 
2504  #if _ENHANCED_REGEX_VISUALIZER
2505  _Visualization.swap(_Right._Visualization);
2506  #endif /* _ENHANCED_REGEX_VISUALIZER */
2507  }
void swap(_Myt &_Right) _THROW0()
Definition: regex:2500
_Root_node * _Rep
Definition: regex:2525
constexpr const _Ty &() _Right
Definition: algorithm:3591

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>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::awk = regex_constants::awk
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::basic = regex_constants::basic
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::collate = regex_constants::collate
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::ECMAScript = regex_constants::ECMAScript
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::egrep = regex_constants::egrep
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::extended = regex_constants::extended
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::grep = regex_constants::grep
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::icase = regex_constants::icase
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::nosubs = regex_constants::nosubs
static
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
constexpr flag_type basic_regex< _Elem, _RxTraits >::optimize = regex_constants::optimize
static

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