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 (initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
 
_Mytoperator= (initializer_list< _Elem > _Ilist)
 
_Mytassign (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
2308  : _Rep(0)
2309  { // construct empty object
2310  }
_Root_node * _Rep
Definition: regex:2546
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
2314  : _Rep(0)
2315  { // construct from null terminated character sequence
2316  _Reset(_Ptr, _Ptr + _RxTraits::length(_Ptr),
2317  _Flags, random_access_iterator_tag());
2318  }
Definition: xutility:531
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
_Root_node * _Rep
Definition: regex:2546
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
2322  : _Rep(0)
2323  { // construct from character sequence
2324  if (_Ptr == 0)
2326  _Reset(_Ptr, _Ptr + _Count, _Flags, random_access_iterator_tag());
2327  }
Definition: xutility:531
Definition: regex:150
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Xregex_error(regex_constants::error_type _Code)
_Diff _Count
Definition: algorithm:1941
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
_Root_node * _Rep
Definition: regex:2546
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
2334  : _Rep(0)
2335  { // construct from string object
2336  _Reset(_Str.begin(), _Str.end(), _Flags, random_access_iterator_tag());
2337  }
Definition: xutility:531
iterator end() _NOEXCEPT
Definition: xstring:2869
iterator begin() _NOEXCEPT
Definition: xstring:2857
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
_Root_node * _Rep
Definition: regex:2546
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
2342  : _Rep(0)
2343  { // construct from pair of iterators
2344  _DEBUG_RANGE(_First, _Last);
2345  _Reset(_First, _Last, _Flags, _Iter_cat_t<_InIt>());
2346  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
typename iterator_traits< _Iter >::iterator_category _Iter_cat_t
Definition: xutility:657
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
template<class _InIt >
basic_regex< _Elem, _RxTraits >::basic_regex ( _InIt  _First,
_InIt  _Last 
)
inline
2350  : _Rep(0)
2351  { // construct from pair of iterators
2352  _DEBUG_RANGE(_First, _Last);
2354  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
typename iterator_traits< _Iter >::iterator_category _Iter_cat_t
Definition: xutility:657
Definition: regex:99
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( const _Myt _Right)
inline
2359  : _Rep(0), _Traits(_Right._Traits),
2360  _Visualization(_Right._Visualization)
2361 
2362  #else /* _ENHANCED_REGEX_VISUALIZER */
2363  : _Rep(0), _Traits(_Right._Traits)
2364  #endif /* _ENHANCED_REGEX_VISUALIZER */
2365 
2366  { // construct copy of _Right
2367  _Reset(_Right._Rep);
2368  }
_RxTraits _Traits
Definition: regex:2547
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
_Root_node * _Rep
Definition: regex:2546
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( initializer_list< _Elem >  _Ilist,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2372  : _Rep(0)
2373  { // construct from initializer_list
2374  _Reset(_Ilist.begin(), _Ilist.end(), _Flags,
2376  }
Definition: xutility:531
constexpr const _Elem * end() const _NOEXCEPT
Definition: initializer_list:44
constexpr const _Elem * begin() const _NOEXCEPT
Definition: initializer_list:39
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::basic_regex ( _Myt &&  _Right)
inline
2392  : _Rep(0)
2393  { // construct by moving _Right
2395  }
void _Assign_rv(_Myt &&_Right)
Definition: regex:2403
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
_Root_node * _Rep
Definition: regex:2546
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
basic_regex< _Elem, _RxTraits >::~basic_regex ( )
inline
2425  { // destroy the object
2426  _Tidy();
2427  }
void _Tidy()
Definition: regex:2553

Member Function Documentation

template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Assign_rv ( _Myt &&  _Right)
inline
2404  { // assign by moving _Right
2405  if (this != _STD addressof(_Right))
2406  { // clear this and steal from _Right
2407  _Tidy();
2408 
2409  #if _ENHANCED_REGEX_VISUALIZER
2410  _Visualization = _STD move(_Right._Visualization);
2411  #endif /* _ENHANCED_REGEX_VISUALIZER */
2412 
2413  _Rep = _Right._Rep;
2414  _Right._Rep = 0;
2415  }
2416  }
_STD_BEGIN constexpr _Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:628
void _Tidy()
Definition: regex:2553
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
_Root_node * _Rep
Definition: regex:2546
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
bool basic_regex< _Elem, _RxTraits >::_Empty ( ) const
inline
2536  { // test if empty
2537  return (_Rep == 0);
2538  }
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Root_node* basic_regex< _Elem, _RxTraits >::_Get ( ) const
inline
2531  { // return pointer to root node
2532  return (_Rep);
2533  }
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
const _RxTraits& basic_regex< _Elem, _RxTraits >::_Get_traits ( ) const
inline
2541  { // return reference to traits
2542  return (_Traits);
2543  }
_RxTraits _Traits
Definition: regex:2547
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
unsigned int basic_regex< _Elem, _RxTraits >::_Loop_count ( ) const
inline
2452  { // return number of loops
2453  return (_Rep != 0 ? _Rep->_Loops : 0);
2454  }
unsigned int _Loops
Definition: regex:1716
_Root_node * _Rep
Definition: regex:2546
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
2564  { // build regular expression from input iterators
2566 
2567  _Reset(_Str.begin(), _Str.end(),
2568  _Flags, forward_iterator_tag());
2569  }
Definition: xstring:1866
Definition: xutility:521
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
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
2574  { // build regular expression from forward iterators
2575  #if _ENHANCED_REGEX_VISUALIZER
2576  _Visualization.assign(_First, _Last);
2577  #endif /* _ENHANCED_REGEX_VISUALIZER */
2578 
2580  _Prs(_Traits, _First, _Last, _Flags);
2581  _Root_node *_Rx = _Prs._Compile();
2582  _Reset(_Rx);
2583  }
Definition: regex:2163
_RxTraits _Traits
Definition: regex:2547
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
Definition: regex:1704
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Reset ( _Root_node _Rx)
inlineprivate
2586  { // build regular expression holding root node _Rx
2587  if (_Rx != 0)
2588  _MT_INCR(reinterpret_cast<_Atomic_counter_t&>(_Rx->_Refs));
2589  _Tidy();
2590  _Rep = _Rx;
2591  }
#define _MT_INCR(x)
Definition: xmemory0:1262
unsigned int _Refs
Definition: regex:1718
void _Tidy()
Definition: regex:2553
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::_Tidy ( )
inlineprivate
2554  { // free all storage
2555  if (_Rep != 0 && _MT_DECR(
2556  reinterpret_cast<_Atomic_counter_t&>(_Rep->_Refs)) == 0)
2558  _Rep = 0;
2559  }
void _Destroy_node(_Node_base *_Nx, _Node_base *_Ne=0)
Definition: regex:1691
unsigned int _Refs
Definition: regex:1718
#define _MT_DECR(x)
Definition: xmemory0:1264
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( initializer_list< _Elem >  _Ilist,
flag_type  _Flags = regex_constants::ECMAScript 
)
inline
2385  { // replace with regular expression in initializer_list
2386  _Reset(_Ilist.begin(), _Ilist.end(),
2387  _Flags, random_access_iterator_tag());
2388  return (*this);
2389  }
Definition: xutility:531
constexpr const _Elem * end() const _NOEXCEPT
Definition: initializer_list:44
constexpr const _Elem * begin() const _NOEXCEPT
Definition: initializer_list:39
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( _Myt &&  _Right)
inline
2419  { // assign by moving _Right
2421  return (*this);
2422  }
void _Assign_rv(_Myt &&_Right)
Definition: regex:2403
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::assign ( const _Myt _Right)
inline
2462  { // replace with copy of _Right
2463  #if _ENHANCED_REGEX_VISUALIZER
2464  _Visualization = _Right._Visualization;
2465  #endif /* _ENHANCED_REGEX_VISUALIZER */
2466 
2467  _Reset(_Right._Rep);
2468  return (*this);
2469  }
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
constexpr const _Ty &() _Right
Definition: algorithm:3723
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
2473  { // replace with regular expression constructed from _Ptr
2474  return (assign(_Ptr, _RxTraits::length(_Ptr), _Flags));
2475  }
_Myt & assign(initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2383
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
2479  { // replace with regular expression constructed from _Ptr, _Count
2480  _Reset(_Ptr, _Ptr + _Count,
2481  _Flags, random_access_iterator_tag());
2482  return (*this);
2483  }
Definition: xutility:531
_Diff _Count
Definition: algorithm:1941
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
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
2490  { // replace with regular expression constructed from _Str
2491  _Reset(_Str.begin(), _Str.end(),
2492  _Flags, random_access_iterator_tag());
2493  return (*this);
2494  }
Definition: xutility:531
iterator end() _NOEXCEPT
Definition: xstring:2869
iterator begin() _NOEXCEPT
Definition: xstring:2857
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
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
2499  { // replace with regular expression constructed from [_First, _Last)
2500  _DEBUG_RANGE(_First, _Last);
2501  _Reset(_First, _Last, _Flags, _Iter_cat_t<_InIt>());
2502  return (*this);
2503  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
typename iterator_traits< _Iter >::iterator_category _Iter_cat_t
Definition: xutility:657
_FwdIt _Last
Definition: algorithm:1936
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
flag_type basic_regex< _Elem, _RxTraits >::flags ( ) const
inline
2506  { // return syntax option flags
2507  return (_Rep ? _Rep->_Fl : (flag_type)0);
2508  }
regex_constants::syntax_option_type flag_type
Definition: regex:2294
regex_constants::syntax_option_type _Fl
Definition: regex:1715
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
locale_type basic_regex< _Elem, _RxTraits >::getloc ( ) const
inline
2517  { // return copy of locale object
2518  return (_Traits.getloc());
2519  }
_RxTraits _Traits
Definition: regex:2547
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
locale_type basic_regex< _Elem, _RxTraits >::imbue ( locale_type  _Loc)
inline
2511  { // clear regular expression and set locale to argument
2512  _Tidy();
2513  return (_Traits.imbue(_Loc));
2514  }
_RxTraits _Traits
Definition: regex:2547
void _Tidy()
Definition: regex:2553
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
unsigned int basic_regex< _Elem, _RxTraits >::mark_count ( ) const
inline
2457  { // return number of capture groups
2458  return (_Rep != 0 ? _Rep->_Marks - 1 : 0);
2459  }
unsigned int _Marks
Definition: regex:1717
_Root_node * _Rep
Definition: regex:2546
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( initializer_list< _Elem >  _Ilist)
inline
2379  { // replace with regular expression in initializer_list
2380  return (assign(_Ilist));
2381  }
_Myt & assign(initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2383
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _Myt &&  _Right)
inline
2398  { // assign by moving _Right
2400  return (*this);
2401  }
void _Assign_rv(_Myt &&_Right)
Definition: regex:2403
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( const _Myt _Right)
inline
2430  { // replace with copy of _Right
2431  return (assign(_Right));
2432  }
_Myt & assign(initializer_list< _Elem > _Ilist, flag_type _Flags=regex_constants::ECMAScript)
Definition: regex:2383
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
_Myt& basic_regex< _Elem, _RxTraits >::operator= ( _In_z_ const _Elem *  _Ptr)
inline
2435  { // replace with regular expression constructed from _Ptr
2436  _Reset(_Ptr, _Ptr + _RxTraits::length(_Ptr),
2438  return (*this);
2439  }
Definition: xutility:531
static constexpr flag_type ECMAScript
Definition: regex:2300
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
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
2445  { // replace with regular expression constructed from _Str
2446  _Reset(_Str.begin(), _Str.end(),
2448  return (*this);
2449  }
Definition: xutility:531
iterator end() _NOEXCEPT
Definition: xstring:2869
static constexpr flag_type ECMAScript
Definition: regex:2300
iterator begin() _NOEXCEPT
Definition: xstring:2857
void _Reset(_InIt _First, _InIt _Last, flag_type _Flags, input_iterator_tag)
Definition: regex:2562
template<class _Elem, class _RxTraits = regex_traits<_Elem>>
void basic_regex< _Elem, _RxTraits >::swap ( _Myt _Right)
inline
2522  { // exchange contents with _Right
2523  _STD swap(_Rep, _Right._Rep);
2524 
2525  #if _ENHANCED_REGEX_VISUALIZER
2526  _Visualization.swap(_Right._Visualization);
2527  #endif /* _ENHANCED_REGEX_VISUALIZER */
2528  }
void swap(_Myt &_Right) _THROW0()
Definition: regex:2521
_Root_node * _Rep
Definition: regex:2546
constexpr const _Ty &() _Right
Definition: algorithm:3723

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: