libstdc++
std::basic_regex< _Ch_type, _Rx_traits > Class Template Reference

#include <regex.h>

Public Types

typedef regex_constants::syntax_option_type flag_type
 
typedef traits_type::locale_type locale_type
 
typedef traits_type::string_type string_type
 
typedef _Rx_traits traits_type
 
typedef _Ch_type value_type
 

Public Member Functions

 basic_regex () noexcept
 
template<typename _FwdIter >
 basic_regex (_FwdIter __first, _FwdIter __last, flag_type __f=ECMAScript)
 
 basic_regex (basic_regex &&__rhs) noexcept=default
 
 basic_regex (const _Ch_type *__p, flag_type __f=ECMAScript)
 
 basic_regex (const _Ch_type *__p, std::size_t __len, flag_type __f=ECMAScript)
 
 basic_regex (const basic_regex &__rhs)=default
 
template<typename _Ch_traits , typename _Ch_alloc >
 basic_regex (const std::basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &__s, flag_type __f=ECMAScript)
 
 basic_regex (initializer_list< _Ch_type > __l, flag_type __f=ECMAScript)
 
 ~basic_regex ()
 
template<typename _InputIterator >
basic_regexassign (_InputIterator __first, _InputIterator __last, flag_type __flags=ECMAScript)
 
basic_regexassign (basic_regex &&__rhs) noexcept
 
basic_regexassign (const _Ch_type *__p, flag_type __flags=ECMAScript)
 
basic_regexassign (const _Ch_type *__p, size_t __len, flag_type __flags=ECMAScript)
 
basic_regexassign (const basic_regex &__rhs) noexcept
 
template<typename _Ch_traits , typename _Alloc >
basic_regexassign (const basic_string< _Ch_type, _Ch_traits, _Alloc > &__s, flag_type __flags=ECMAScript)
 
basic_regexassign (initializer_list< _Ch_type > __l, flag_type __flags=ECMAScript)
 
flag_type flags () const noexcept
 
locale_type getloc () const noexcept
 
locale_type imbue (locale_type __loc)
 
unsigned int mark_count () const noexcept
 
basic_regexoperator= (basic_regex &&)=default
 
basic_regexoperator= (const _Ch_type *__p)
 
basic_regexoperator= (const basic_regex &)=default
 
template<typename _Ch_traits , typename _Alloc >
basic_regexoperator= (const basic_string< _Ch_type, _Ch_traits, _Alloc > &__s)
 
basic_regexoperator= (initializer_list< _Ch_type > __l)
 
void swap (basic_regex &__rhs) noexcept
 

Static Public Attributes

Constants

std [28.8.1](1)

static constexpr flag_type icase
 
static constexpr flag_type nosubs
 
static constexpr flag_type optimize
 
static constexpr flag_type collate
 
static constexpr flag_type ECMAScript
 
static constexpr flag_type basic
 
static constexpr flag_type extended
 
static constexpr flag_type awk
 
static constexpr flag_type grep
 
static constexpr flag_type egrep
 
static constexpr flag_type multiline
 

Friends

template<typename _Bp , typename _Ap , typename _Cp , typename _Rp , __detail::_RegexExecutorPolicy , bool >
bool __detail::__regex_algo_impl (_Bp, _Bp, match_results< _Bp, _Ap > &, const basic_regex< _Cp, _Rp > &, regex_constants::match_flag_type)
 
template<typename , typename , typename , bool >
class __detail::_Executor
 

Related Symbols

(Note that these are not member symbols.)

template<typename _Ch_type , typename _Rx_traits >
void swap (basic_regex< _Ch_type, _Rx_traits > &__lhs, basic_regex< _Ch_type, _Rx_traits > &__rhs) noexcept
 

Detailed Description

template<typename _Ch_type, typename _Rx_traits = regex_traits<_Ch_type>>
class std::basic_regex< _Ch_type, _Rx_traits >

Objects of specializations of this class represent regular expressions constructed from sequences of character type _Ch_type.

Storage for the regular expression is allocated and deallocated as necessary by the member functions of this class.

Definition at line 399 of file regex.h.

Member Typedef Documentation

◆ flag_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
typedef regex_constants::syntax_option_type std::basic_regex< _Ch_type, _Rx_traits >::flag_type

Definition at line 409 of file regex.h.

◆ locale_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
typedef traits_type::locale_type std::basic_regex< _Ch_type, _Rx_traits >::locale_type

Definition at line 410 of file regex.h.

◆ string_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
typedef traits_type::string_type std::basic_regex< _Ch_type, _Rx_traits >::string_type

Definition at line 408 of file regex.h.

◆ traits_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
typedef _Rx_traits std::basic_regex< _Ch_type, _Rx_traits >::traits_type

Definition at line 407 of file regex.h.

◆ value_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
typedef _Ch_type std::basic_regex< _Ch_type, _Rx_traits >::value_type

Definition at line 406 of file regex.h.

Constructor & Destructor Documentation

◆ basic_regex() [1/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( )
inlinenoexcept

Constructs a basic regular expression that does not match any character sequence.

Definition at line 437 of file regex.h.

◆ basic_regex() [2/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( const _Ch_type *  __p,
flag_type  __f = ECMAScript 
)
inlineexplicit

Constructs a basic regular expression from the sequence [__p, __p + char_traits<_Ch_type>::length(__p)) interpreted according to the flags in __f.

Parameters
__pA pointer to the start of a C-style null-terminated string containing a regular expression.
__fFlags indicating the syntax rules and options.
Exceptions
regex_errorif __p is not a valid regular expression.

Definition at line 453 of file regex.h.

◆ basic_regex() [3/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( const _Ch_type *  __p,
std::size_t  __len,
flag_type  __f = ECMAScript 
)
inline

Constructs a basic regular expression from the sequence [p, p + len) interpreted according to the flags in f.

Parameters
__pA pointer to the start of a string containing a regular expression.
__lenThe length of the string containing the regular expression.
__fFlags indicating the syntax rules and options.
Exceptions
regex_errorif __p is not a valid regular expression.

Definition at line 468 of file regex.h.

◆ basic_regex() [4/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( const basic_regex< _Ch_type, _Rx_traits > &  __rhs)
default

Copy-constructs a basic regular expression.

Parameters
__rhsA regex object.

◆ basic_regex() [5/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( basic_regex< _Ch_type, _Rx_traits > &&  __rhs)
defaultnoexcept

Move-constructs a basic regular expression.

Parameters
__rhsA regex object.

◆ basic_regex() [6/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
template<typename _Ch_traits , typename _Ch_alloc >
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( const std::basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &  __s,
flag_type  __f = ECMAScript 
)
inlineexplicit

Constructs a basic regular expression from the string s interpreted according to the flags in f.

Parameters
__sA string containing a regular expression.
__fFlags indicating the syntax rules and options.
Exceptions
regex_errorif __s is not a valid regular expression.

Definition at line 497 of file regex.h.

◆ basic_regex() [7/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
template<typename _FwdIter >
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( _FwdIter  __first,
_FwdIter  __last,
flag_type  __f = ECMAScript 
)
inline

Constructs a basic regular expression from the range [first, last) interpreted according to the flags in f.

Parameters
__firstThe start of a range containing a valid regular expression.
__lastThe end of a range containing a valid regular expression.
__fThe format flags of the regular expression.
Exceptions
regex_errorif [__first, __last) is not a valid regular expression.

Definition at line 516 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

◆ basic_regex() [8/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
std::basic_regex< _Ch_type, _Rx_traits >::basic_regex ( initializer_list< _Ch_type >  __l,
flag_type  __f = ECMAScript 
)
inline

Constructs a basic regular expression from an initializer list.

Parameters
__lThe initializer list.
__fThe format flags of the regular expression.
Exceptions
regex_errorif __l is not a valid regular expression.

Definition at line 528 of file regex.h.

◆ ~basic_regex()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
std::basic_regex< _Ch_type, _Rx_traits >::~basic_regex ( )
inline

Destroys a basic regular expression.

Definition at line 534 of file regex.h.

Member Function Documentation

◆ assign() [1/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
template<typename _InputIterator >
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::assign ( _InputIterator  __first,
_InputIterator  __last,
flag_type  __flags = ECMAScript 
)
inline

Assigns a new regular expression to a regex object.

Parameters
__firstThe start of a range containing a valid regular expression.
__lastThe end of a range containing a valid regular expression.
__flagsSyntax option flags.
Exceptions
regex_errorif p does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, the object remains unchanged.

Definition at line 679 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

◆ assign() [2/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::assign ( basic_regex< _Ch_type, _Rx_traits > &&  __rhs)
inlinenoexcept

Move-assigns one regular expression to another.

Parameters
__rhsAnother regular expression object.

Definition at line 599 of file regex.h.

References std::move().

◆ assign() [3/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::assign ( const _Ch_type *  __p,
flag_type  __flags = ECMAScript 
)
inline

Assigns a new regular expression to a regex object from a C-style null-terminated string containing a regular expression pattern.

Parameters
__pA pointer to a C-style null-terminated string containing a regular expression pattern.
__flagsSyntax option flags.
Exceptions
regex_errorif __p does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, *this remains unchanged.

Definition at line 616 of file regex.h.

◆ assign() [4/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::assign ( const _Ch_type *  __p,
size_t  __len,
flag_type  __flags = ECMAScript 
)
inline

Assigns a new regular expression to a regex object from a C-style string containing a regular expression pattern.

Parameters
__pA pointer to a C-style string containing a regular expression pattern.
__lenThe length of the regular expression pattern string.
__flagsSyntax option flags.
Exceptions
regex_errorif p does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, *this remains unchanged.

Definition at line 638 of file regex.h.

◆ assign() [5/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::assign ( const basic_regex< _Ch_type, _Rx_traits > &  __rhs)
inlinenoexcept

◆ assign() [6/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
template<typename _Ch_traits , typename _Alloc >
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::assign ( const basic_string< _Ch_type, _Ch_traits, _Alloc > &  __s,
flag_type  __flags = ECMAScript 
)
inline

Assigns a new regular expression to a regex object from a string containing a regular expression pattern.

Parameters
__sA string containing a regular expression pattern.
__flagsSyntax option flags.
Exceptions
regex_errorif __s does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, *this remains unchanged.

Definition at line 657 of file regex.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and std::basic_string< _CharT, _Traits, _Alloc >::size().

◆ assign() [7/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::assign ( initializer_list< _Ch_type >  __l,
flag_type  __flags = ECMAScript 
)
inline

Assigns a new regular expression to a regex object.

Parameters
__lAn initializer list representing a regular expression.
__flagsSyntax option flags.
Exceptions
regex_errorif __l does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, the object remains unchanged.

Definition at line 709 of file regex.h.

◆ flags()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
flag_type std::basic_regex< _Ch_type, _Rx_traits >::flags ( ) const
inlinenoexcept

Gets the flags used to construct the regular expression or in the last call to assign().

Definition at line 733 of file regex.h.

◆ getloc()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
locale_type std::basic_regex< _Ch_type, _Rx_traits >::getloc ( ) const
inlinenoexcept

Gets the locale currently imbued in the regular expression object.

Definition at line 755 of file regex.h.

◆ imbue()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
locale_type std::basic_regex< _Ch_type, _Rx_traits >::imbue ( locale_type  __loc)
inline

Imbues the regular expression object with the given locale.

Parameters
__locA locale.

Definition at line 743 of file regex.h.

References std::swap().

◆ mark_count()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
unsigned int std::basic_regex< _Ch_type, _Rx_traits >::mark_count ( ) const
inlinenoexcept

Gets the number of marked subexpressions within the regular expression.

Definition at line 721 of file regex.h.

◆ operator=() [1/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::operator= ( basic_regex< _Ch_type, _Rx_traits > &&  )
default

Move-assigns one regular expression to another.

◆ operator=() [2/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::operator= ( const _Ch_type *  __p)
inline

Replaces a regular expression with a new one constructed from a C-style null-terminated string.

Parameters
__pA pointer to the start of a null-terminated C-style string containing a regular expression.

Definition at line 557 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

◆ operator=() [3/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::operator= ( const basic_regex< _Ch_type, _Rx_traits > &  )
default

Assigns one regular expression to another.

◆ operator=() [4/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
template<typename _Ch_traits , typename _Alloc >
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::operator= ( const basic_string< _Ch_type, _Ch_traits, _Alloc > &  __s)
inline

Replaces a regular expression with a new one constructed from a string.

Parameters
__sA pointer to a string containing a regular expression.

Definition at line 580 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

◆ operator=() [5/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
basic_regex & std::basic_regex< _Ch_type, _Rx_traits >::operator= ( initializer_list< _Ch_type >  __l)
inline

Replaces a regular expression with a new one constructed from an initializer list.

Parameters
__lThe initializer list.
Exceptions
regex_errorif __l is not a valid regular expression.

Definition at line 569 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

◆ swap()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
void std::basic_regex< _Ch_type, _Rx_traits >::swap ( basic_regex< _Ch_type, _Rx_traits > &  __rhs)
inlinenoexcept

Swaps the contents of two regular expression objects.

Parameters
__rhsAnother regular expression object.

Definition at line 765 of file regex.h.

References std::swap().

Friends And Related Symbol Documentation

◆ __detail::_Executor

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
template<typename , typename , typename , bool >
friend class __detail::_Executor
friend

Definition at line 798 of file regex.h.

Member Data Documentation

◆ awk

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::awk
staticconstexpr

Definition at line 424 of file regex.h.

◆ basic

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::basic
staticconstexpr

Definition at line 422 of file regex.h.

◆ collate

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::collate
staticconstexpr

Definition at line 420 of file regex.h.

◆ ECMAScript

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::ECMAScript
staticconstexpr

Definition at line 421 of file regex.h.

◆ egrep

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::egrep
staticconstexpr

Definition at line 426 of file regex.h.

◆ extended

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::extended
staticconstexpr

Definition at line 423 of file regex.h.

◆ grep

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::grep
staticconstexpr

Definition at line 425 of file regex.h.

◆ icase

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::icase
staticconstexpr

Definition at line 417 of file regex.h.

◆ multiline

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::multiline
staticconstexpr

Definition at line 428 of file regex.h.

◆ nosubs

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::nosubs
staticconstexpr

Definition at line 418 of file regex.h.

◆ optimize

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>
constexpr flag_type std::basic_regex< _Ch_type, _Rx_traits >::optimize
staticconstexpr

Definition at line 419 of file regex.h.


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