| [/ |
| Copyright 2006-2007 John Maddock. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |
| [section:basic_regex basic_regex] |
| |
| [h4 Synopsis] |
| |
| #include <boost/regex.hpp> |
| |
| The template class `basic_regex` encapsulates regular expression |
| parsing and compilation. The class takes two template parameters: |
| |
| * `charT`: determines the character type, i.e. either `char` or `wchar_t`; |
| see [link boost_regex.ref.concepts.charT_concept charT concept]. |
| * `traits`: determines the behavior of the character type, for example which |
| character class names are recognized. A default traits class is provided: |
| `regex_traits<charT>`. See also |
| [link boost_regex.ref.concepts.traits_concept traits concept]. |
| |
| For ease of use there are two typedefs that define the two standard |
| `basic_regex` instances, unless you want to use custom traits classes or |
| non-standard character types (for example see |
| [link boost_regex.ref.non_std_strings.icu unicode support]), |
| you won't need to use anything other than these: |
| |
| namespace boost{ |
| |
| template <class charT, class traits = regex_traits<charT> > |
| class basic_regex; |
| |
| typedef basic_regex<char> regex; |
| typedef basic_regex<wchar_t> wregex; |
| |
| } |
| |
| The definition of `basic_regex` follows: it is based very closely on class |
| `basic_string`, and fulfils the requirements for a constant-container of `charT`. |
| |
| namespace boost{ |
| |
| template <class charT, class traits = regex_traits<charT> > |
| class basic_regex { |
| public: |
| // types: |
| typedef charT value_type; |
| typedef implementation-specific const_iterator; |
| typedef const_iterator iterator; |
| typedef charT& reference; |
| typedef const charT& const_reference; |
| typedef std::ptrdiff_t difference_type; |
| typedef std::size_t size_type; |
| typedef regex_constants::``[syntax_option_type]`` flag_type; |
| typedef typename traits::locale_type locale_type; |
| |
| // constants: |
| // main option selection: |
| static const regex_constants::``[syntax_option_type]`` normal |
| = regex_constants::normal; |
| static const regex_constants::``[syntax_option_type]`` ECMAScript |
| = normal; |
| static const regex_constants::``[syntax_option_type]`` JavaScript |
| = normal; |
| static const regex_constants::``[syntax_option_type]`` JScript |
| = normal; |
| static const regex_constants::``[syntax_option_type]`` basic |
| = regex_constants::basic; |
| static const regex_constants::``[syntax_option_type]`` extended |
| = regex_constants::extended; |
| static const regex_constants::``[syntax_option_type]`` awk |
| = regex_constants::awk; |
| static const regex_constants::``[syntax_option_type]`` grep |
| = regex_constants::grep; |
| static const regex_constants::``[syntax_option_type]`` egrep |
| = regex_constants::egrep; |
| static const regex_constants::``[syntax_option_type]`` sed |
| = basic = regex_constants::sed; |
| static const regex_constants::``[syntax_option_type]`` perl |
| = regex_constants::perl; |
| static const regex_constants::``[syntax_option_type]`` literal |
| = regex_constants::literal; |
| |
| // modifiers specific to perl expressions: |
| static const regex_constants::``[syntax_option_type]`` no_mod_m |
| = regex_constants::no_mod_m; |
| static const regex_constants::``[syntax_option_type]`` no_mod_s |
| = regex_constants::no_mod_s; |
| static const regex_constants::``[syntax_option_type]`` mod_s |
| = regex_constants::mod_s; |
| static const regex_constants::``[syntax_option_type]`` mod_x |
| = regex_constants::mod_x; |
| |
| // modifiers specific to POSIX basic expressions: |
| static const regex_constants::``[syntax_option_type]`` bk_plus_qm |
| = regex_constants::bk_plus_qm; |
| static const regex_constants::``[syntax_option_type]`` bk_vbar |
| = regex_constants::bk_vbar |
| static const regex_constants::``[syntax_option_type]`` no_char_classes |
| = regex_constants::no_char_classes |
| static const regex_constants::``[syntax_option_type]`` no_intervals |
| = regex_constants::no_intervals |
| |
| // common modifiers: |
| static const regex_constants::``[syntax_option_type]`` nosubs |
| = regex_constants::nosubs; |
| static const regex_constants::``[syntax_option_type]`` optimize |
| = regex_constants::optimize; |
| static const regex_constants::``[syntax_option_type]`` collate |
| = regex_constants::collate; |
| static const regex_constants::``[syntax_option_type]`` newline_alt |
| = regex_constants::newline_alt; |
| static const regex_constants::``[syntax_option_type]`` no_except |
| = regex_constants::newline_alt; |
| |
| // construct/copy/destroy: |
| explicit ``[link boost_regex.basic_regex.construct1 basic_regex]`` (); |
| explicit ``[link boost_regex.basic_regex.construct2 basic_regex]``(const charT* p, flag_type f = regex_constants::normal); |
| ``[link boost_regex.basic_regex.construct3 basic_regex]``(const charT* p1, const charT* p2, |
| flag_type f = regex_constants::normal); |
| ``[link boost_regex.basic_regex.construct4 basic_regex]``(const charT* p, size_type len, flag_type f); |
| ``[link boost_regex.basic_regex.construct5 basic_regex]``(const basic_regex&); |
| |
| template <class ST, class SA> |
| explicit ``[link boost_regex.basic_regex.construct6 basic_regex]``(const basic_string<charT, ST, SA>& p, |
| flag_type f = regex_constants::normal); |
| |
| template <class InputIterator> |
| ``[link boost_regex.basic_regex.construct7 basic_regex]``(InputIterator first, InputIterator last, |
| flag_type f = regex_constants::normal); |
| |
| ~basic_regex(); |
| ``[link boost_regex.basic_regex.opeq1 basic_regex& operator=]``(const basic_regex&); |
| ``[link boost_regex.basic_regex.opeq2 basic_regex& operator=]`` (const charT* ptr); |
| |
| template <class ST, class SA> |
| ``[link boost_regex.basic_regex.opeq3 basic_regex& operator=]`` (const basic_string<charT, ST, SA>& p); |
| // iterators: |
| ``[link boost_regex.basic_regex.subexpression std::pair<const_iterator, const_iterator> subexpression]``(size_type n) const; |
| ``[link boost_regex.basic_regex.begin const_iterator begin]``() const; |
| ``[link boost_regex.basic_regex.end const_iterator end]``() const; |
| // capacity: |
| ``[link boost_regex.basic_regex.size size_type size]``() const; |
| ``[link boost_regex.basic_regex.max_size size_type max_size]``() const; |
| ``[link boost_regex.basic_regex.empty bool empty]``() const; |
| ``[link boost_regex.basic_regex.mark_count size_type mark_count]``()const; |
| // |
| // modifiers: |
| ``[link boost_regex.basic_regex.assign1 basic_regex& assign]``(const basic_regex& that); |
| ``[link boost_regex.basic_regex.assign2 basic_regex& assign]``(const charT* ptr, |
| flag_type f = regex_constants::normal); |
| ``[link boost_regex.basic_regex.assign3 basic_regex& assign]``(const charT* ptr, unsigned int len, flag_type f); |
| |
| template <class string_traits, class A> |
| ``[link boost_regex.basic_regex.assign4 basic_regex& assign]``(const basic_string<charT, string_traits, A>& s, |
| flag_type f = regex_constants::normal); |
| |
| template <class InputIterator> |
| ``[link boost_regex.basic_regex.assign5 basic_regex& assign]``(InputIterator first, InputIterator last, |
| flag_type f = regex_constants::normal); |
| |
| // const operations: |
| ``[link boost_regex.basic_regex.flags flag_type flags]``() const; |
| ``[link boost_regex.basic_regex.status int status]``()const; |
| ``[link boost_regex.basic_regex.str basic_string<charT> str]``() const; |
| ``[link boost_regex.basic_regex.compare int compare]``(basic_regex&) const; |
| // locale: |
| ``[link boost_regex.basic_regex.imbue locale_type imbue]``(locale_type loc); |
| ``[link boost_regex.basic_regex.getloc locale_type getloc]``() const; |
| // swap |
| ``[link boost_regex.basic_regex.swap void swap]``(basic_regex&) throw(); |
| }; |
| |
| template <class charT, class traits> |
| ``[link boost_regex.basic_regex.op_eq bool operator ==]`` (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| template <class charT, class traits> |
| ``[link boost_regex.basic_regex.op_ne bool operator !=]`` (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| template <class charT, class traits> |
| ``[link boost_regex.basic_regex.op_lt bool operator <]`` (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| template <class charT, class traits> |
| ``[link boost_regex.basic_regex.op_le bool operator <=]`` (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| template <class charT, class traits> |
| ``[link boost_regex.basic_regex.op_ge bool operator >=]`` (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| template <class charT, class traits> |
| ``[link boost_regex.basic_regex.op_gt bool operator >]`` (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| template <class charT, class io_traits, class re_traits> |
| basic_ostream<charT, io_traits>& |
| ``[link boost_regex.basic_regex.op_stream operator <<]`` (basic_ostream<charT, io_traits>& os, |
| const basic_regex<charT, re_traits>& e); |
| |
| template <class charT, class traits> |
| ``[link boost_regex.basic_regex.op_swap void swap]``(basic_regex<charT, traits>& e1, |
| basic_regex<charT, traits>& e2); |
| |
| typedef basic_regex<char> regex; |
| typedef basic_regex<wchar_t> wregex; |
| |
| } // namespace boost |
| |
| [h4 Description] |
| |
| Class `basic_regex` has the following public members: |
| |
| // main option selection: |
| static const regex_constants::``[syntax_option_type]`` normal |
| = regex_constants::normal; |
| static const regex_constants::``[syntax_option_type]`` ECMAScript |
| = normal; |
| static const regex_constants::``[syntax_option_type]`` JavaScript |
| = normal; |
| static const regex_constants::``[syntax_option_type]`` JScript |
| = normal; |
| static const regex_constants::``[syntax_option_type]`` basic |
| = regex_constants::basic; |
| static const regex_constants::``[syntax_option_type]`` extended |
| = regex_constants::extended; |
| static const regex_constants::``[syntax_option_type]`` awk |
| = regex_constants::awk; |
| static const regex_constants::``[syntax_option_type]`` grep |
| = regex_constants::grep; |
| static const regex_constants::``[syntax_option_type]`` egrep |
| = regex_constants::egrep; |
| static const regex_constants::``[syntax_option_type]`` sed |
| = regex_constants::sed; |
| static const regex_constants::``[syntax_option_type]`` perl |
| = regex_constants::perl; |
| static const regex_constants::``[syntax_option_type]`` literal |
| = regex_constants::literal; |
| |
| // modifiers specific to perl expressions: |
| static const regex_constants::``[syntax_option_type]`` no_mod_m |
| = regex_constants::no_mod_m; |
| static const regex_constants::``[syntax_option_type]`` no_mod_s |
| = regex_constants::no_mod_s; |
| static const regex_constants::``[syntax_option_type]`` mod_s |
| = regex_constants::mod_s; |
| static const regex_constants::``[syntax_option_type]`` mod_x |
| = regex_constants::mod_x; |
| |
| // modifiers specific to POSIX basic expressions: |
| static const regex_constants::``[syntax_option_type]`` bk_plus_qm |
| = regex_constants::bk_plus_qm; |
| static const regex_constants::``[syntax_option_type]`` bk_vbar |
| = regex_constants::bk_vbar |
| static const regex_constants::``[syntax_option_type]`` no_char_classes |
| = regex_constants::no_char_classes |
| static const regex_constants::``[syntax_option_type]`` no_intervals |
| = regex_constants::no_intervals |
| |
| // common modifiers: |
| static const regex_constants::``[syntax_option_type]`` nosubs |
| = regex_constants::nosubs; |
| static const regex_constants::``[syntax_option_type]`` optimize |
| = regex_constants::optimize; |
| static const regex_constants::``[syntax_option_type]`` collate |
| = regex_constants::collate; |
| static const regex_constants::``[syntax_option_type]`` newline_alt |
| = regex_constants::newline_alt; |
| |
| The meaning of these options is documented in the [syntax_option_type] |
| section. |
| |
| The static constant members are provided as synonyms for the constants declared |
| in namespace `boost::regex_constants`; for each constant of type [syntax_option_type] |
| declared in namespace `boost::regex_constants` then a constant with the same name, |
| type and value is declared within the scope of basic_regex. |
| |
| [#boost_regex.basic_regex.construct1] |
| |
| basic_regex(); |
| |
| [*Effects]: Constructs an object of class `basic_regex`. |
| |
| [table basic_regex default construction postconditions |
| [[Element][Value]] |
| [[`empty()`][`true`]] |
| [[`size()`][`0`]] |
| [[`str()`][`basic_string<charT>()`]] |
| ] |
| |
| [#boost_regex.basic_regex.construct2] |
| |
| basic_regex(const charT* p, flag_type f = regex_constants::normal); |
| |
| [*Requires]: /p/ shall not be a null pointer. |
| |
| [*Throws]: [bad_expression] if /p/ is not a valid regular expression, |
| unless the flag `no_except` is set in /f/. |
| |
| [*Effects]: Constructs an object of class [basic_regex]; the object's internal |
| finite state machine is constructed from the regular expression contained |
| in the null-terminated string /p/, and interpreted according to the |
| [link boost_regex.ref.syntax_option_type option |
| flags] specified in /f/. |
| |
| [table Postconditions for basic_regex construction |
| [[Element][Value]] |
| [[`empty()`][`false`]] |
| [[`size()`][`char_traits<charT>::length(p)`]] |
| [[`str()`][`basic_string<charT>(p)`]] |
| [[`flags()`][['f]]] |
| [[`mark_count()`][The number of marked sub-expressions within the expression.]] |
| ] |
| |
| [#boost_regex.basic_regex.construct3] |
| |
| basic_regex(const charT* p1, const charT* p2, |
| flag_type f = regex_constants::normal); |
| |
| [*Requires]: /p1/ and /p2/ are not null pointers, `p1 < p2`. |
| |
| [*Throws]: bad_expression if \[p1,p2) is not a valid regular expression, unless |
| the flag `no_except` is set in /f/. |
| |
| [*Effects]: Constructs an object of class [basic_regex]; the object's |
| internal finite state machine is constructed from the regular expression |
| contained in the sequence of characters \[p1,p2), and interpreted according the |
| [link boost_regex.ref.syntax_option_type option flags] specified in /f/. |
| |
| [table Postconditions for basic_regex construction |
| [[Element][Value]] |
| [[`empty()`][`false`]] |
| [[`size()`][`std::distance(p1,p2)`]] |
| [[`str()`][`basic_string<charT>(p1,p2)`]] |
| [[`flags()`][['f]]] |
| [[`mark_count()`][The number of marked sub-expressions within the expression.]] |
| ] |
| |
| [#boost_regex.basic_regex.construct4] |
| |
| basic_regex(const charT* p, size_type len, flag_type f); |
| |
| [*Requires]: /p/ shall not be a null pointer, `len < max_size()`. |
| |
| [*Throws]: [bad_expression] if /p/ is not a valid regular expression, unless |
| the flag `no_except` is set in /f/. |
| |
| [*Effects]: Constructs an object of class [basic_regex]; the object's |
| internal finite state machine is constructed from the regular expression |
| contained in the sequence of characters \[p, p+len), and interpreted |
| according the option flags specified in /f/. |
| |
| [table Postconditions for basic_regex construction |
| [[Element][Value]] |
| [[`empty()`][`false`]] |
| [[`size()`][['len]]] |
| [[`str()`][`basic_string<charT>(p, len)`]] |
| [[`flags()`][['f]]] |
| [[`mark_count()`][The number of marked sub-expressions within the expression.]] |
| ] |
| |
| [#boost_regex.basic_regex.construct5] |
| |
| basic_regex(const basic_regex& e); |
| |
| [*Effects]: Constructs an object of class [basic_regex] as a copy of the object |
| /e/. |
| |
| [#boost_regex.basic_regex.construct6] |
| |
| template <class ST, class SA> |
| basic_regex(const basic_string<charT, ST, SA>& s, |
| flag_type f = regex_constants::normal); |
| |
| [*Throws]: [bad_expression] if /s/ is not a valid regular expression, |
| unless the flag `no_except` is set in /f/. |
| |
| [*Effects]: Constructs an object of class [basic_regex]; the object's |
| internal finite state machine is constructed from the regular expression |
| contained in the string /s/, and interpreted according to the [link boost_regex.ref.syntax_option_type option |
| flags] specified in /f/. |
| |
| [table Postconditions for basic_regex construction |
| [[Element][Value]] |
| [[`empty()`][`false`]] |
| [[`size()`][`s.size()`]] |
| [[`str()`][['s]]] |
| [[`flags()`][['f]]] |
| [[`mark_count()`][The number of marked sub-expressions within the expression.]] |
| ] |
| |
| [#boost_regex.basic_regex.construct7] |
| |
| template <class ForwardIterator> |
| basic_regex(ForwardIterator first, ForwardIterator last, |
| flag_type f = regex_constants::normal); |
| |
| [*Throws]: [bad_expression] if the sequence \[first, last) is not a valid |
| regular expression, unless the flag `no_except` is set in /f/. |
| |
| [*Effects]: Constructs an object of class [basic_regex]; the object's |
| internal finite state machine is constructed from the regular expression |
| contained in the sequence of characters \[first, last), and interpreted |
| according to the [link boost_regex.ref.syntax_option_type option flags] specified in /f/. |
| |
| [table Postconditions for basic_regex construction |
| [[Element][Value]] |
| [[`empty()`][`false`]] |
| [[`size()`][`distance(first,last)`]] |
| [[`str()`][`basic_string<charT>(first,last)`]] |
| [[`flags()`][['f]]] |
| [[`mark_count()`][The number of marked sub-expressions within the expression.]] |
| ] |
| |
| [#boost_regex.basic_regex.opeq1] |
| |
| basic_regex& operator=(const basic_regex& e); |
| |
| [*Effects]: Returns the result of `assign(e.str(), e.flags())`. |
| |
| [#boost_regex.basic_regex.opeq2] |
| |
| basic_regex& operator=(const charT* ptr); |
| |
| [*Requires]: /p/ shall not be a null pointer. |
| |
| [*Effects]: Returns the result of `assign(ptr)`. |
| |
| [#boost_regex.basic_regex.opeq3] |
| |
| template <class ST, class SA> |
| basic_regex& operator=(const basic_string<charT, ST, SA>& p); |
| |
| [*Effects]: Returns the result of `assign(p)`. |
| |
| [#boost_regex.basic_regex.subexpression] |
| |
| std::pair<const_iterator, const_iterator> subexpression(size_type n) const; |
| |
| [*Effects]: Returns a pair of iterators denoting the location of |
| marked subexpression /n/ within the original regular expression string. |
| The returned iterators are relative to `begin()` and `end()`. |
| |
| [*Requires]: The expression must have been compiled with the |
| [syntax_option_type] save_subexpression_location set. Argument |
| /n/ must be in within the range `1 <= n < mark_count()`. |
| |
| [#boost_regex.basic_regex.begin] |
| |
| const_iterator begin() const; |
| |
| [*Effects]: Returns a starting iterator to a sequence of characters representing |
| the regular expression. |
| |
| [#boost_regex.basic_regex.end] |
| |
| const_iterator end() const; |
| |
| [*Effects]: Returns termination iterator to a sequence of characters representing |
| the regular expression. |
| |
| [#boost_regex.basic_regex.size] |
| |
| size_type size() const; |
| |
| [*Effects]: Returns the length of the sequence of characters representing the regular expression. |
| |
| [#boost_regex.basic_regex.max_size] |
| |
| size_type max_size() const; |
| |
| [*Effects]: Returns the maximum length of the sequence of characters representing |
| the regular expression. |
| |
| [#boost_regex.basic_regex.empty] |
| |
| bool empty() const; |
| |
| [*Effects]: Returns true if the object does not contain a valid regular expression, |
| otherwise false. |
| |
| [#boost_regex.basic_regex.mark_count] |
| |
| size_type mark_count() const; |
| |
| [*Effects]: Returns the number of marked sub-expressions within the regular expresion. |
| |
| [#boost_regex.basic_regex.assign1] |
| |
| basic_regex& assign(const basic_regex& that); |
| |
| [*Effects]: Returns [link boost_regex.basic_regex.assign4 `assign(that.str(), that.flags())`]. |
| |
| [#boost_regex.basic_regex.assign2] |
| |
| basic_regex& assign(const charT* ptr, flag_type f = regex_constants::normal); |
| |
| [*Effects]: Returns [link boost_regex.basic_regex.assign4 `assign(string_type(ptr), f)`]. |
| |
| [#boost_regex.basic_regex.assign3] |
| |
| basic_regex& assign(const charT* ptr, unsigned int len, flag_type f); |
| |
| [*Effects]: Returns [link boost_regex.basic_regex.assign4 `assign(string_type(ptr, len), f)`]. |
| |
| [#boost_regex.basic_regex.assign4] |
| |
| template <class string_traits, class A> |
| basic_regex& assign(const basic_string<charT, string_traits, A>& s, |
| flag_type f = regex_constants::normal); |
| |
| [*Throws]: [bad_expression] if /s/ is not a valid regular expression, |
| unless the flag `no_except` is set in /f/. |
| |
| [*Returns]: *this. |
| |
| [*Effects]: Assigns the regular expression contained in the string /s/, |
| interpreted according the [link boost_regex.ref.syntax_option_type option flags] |
| specified in /f/. |
| |
| [table Postconditions for basic_regex::assign |
| [[Element][Value]] |
| [[`empty()`][`false`]] |
| [[`size()`][`s.size()`]] |
| [[`str()`][['s]]] |
| [[`flags()`][['f]]] |
| [[`mark_count()`][The number of marked sub-expressions within the expression.]] |
| ] |
| |
| [#boost_regex.basic_regex.assign5] |
| |
| template <class InputIterator> |
| basic_regex& assign(InputIterator first, InputIterator last, |
| flag_type f = regex_constants::normal); |
| |
| [*Requires]: The type `InputIterator` corresponds to the |
| [@http://input_iterator Input Iterator requirements |
| (24.1.1)]. |
| |
| [*Effects]: Returns [link boost_regex.basic_regex.assign4 `assign(string_type(first, last), f)`]. |
| |
| [#boost_regex.basic_regex.flags] |
| |
| flag_type flags() const; |
| |
| [*Effects]: Returns a copy of the [link boost_regex.ref.syntax_option_type |
| regular expression syntax flags] that were passed to the object's constructor, |
| or the last call to `assign`. |
| |
| [#boost_regex.basic_regex.status] |
| |
| int status() const; |
| |
| [*Effects]: Returns zero if the expression contains a valid regular expression, |
| otherwise an error code. This member function is retained for use in |
| environments that cannot use exception handling. |
| |
| [#boost_regex.basic_regex.str] |
| |
| basic_string<charT> str() const; |
| |
| [*Effects]: Returns a copy of the character sequence passed to the object's constructor, |
| or the last call to assign. |
| |
| [#boost_regex.basic_regex.compare] |
| |
| int compare(basic_regex& e)const; |
| |
| [*Effects]: If `flags() == e.flags()` then returns `str().compare(e.str())`, |
| otherwise returns `flags() - e.flags()`. |
| |
| [#boost_regex.basic_regex.imbue] |
| |
| locale_type imbue(locale_type l); |
| |
| [*Effects]: Returns the result of `traits_inst.imbue(l)` where `traits_inst` is |
| a (default initialized) instance of the template parameter `traits` stored |
| within the object. Calls to `imbue` invalidate any currently contained |
| regular expression. |
| |
| [*Postcondition]: `empty() == true`. |
| |
| [#boost_regex.basic_regex.getloc] |
| |
| locale_type getloc() const; |
| |
| [*Effects]: Returns the result of `traits_inst.getloc()` where `traits_inst` is |
| a (default initialized) instance of the template parameter traits stored |
| within the object. |
| |
| [#boost_regex.basic_regex.swap] |
| |
| void swap(basic_regex& e) throw(); |
| |
| [*Effects]: Swaps the contents of the two regular expressions. |
| |
| [*Postcondition]: `*this` contains the regular expression that was in /e/, /e/ contains |
| the regular expression that was in `*this`. |
| |
| [*Complexity]: constant time. |
| |
| [note Comparisons between [basic_regex] objects are provided on an |
| experimental basis: please note that these are not present in the [tr1], |
| so use with care if you are writing code that may need to be ported |
| to other implementations of [basic_regex].] |
| |
| [#boost_regex.basic_regex.op_eq] |
| |
| template <class charT, class traits> |
| bool operator == (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| [*Effects]: Returns `lhs.compare(rhs) == 0`. |
| |
| [#boost_regex.basic_regex.op_ne] |
| |
| template <class charT, class traits> |
| bool operator != (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| [*Effects]: Returns `lhs.compare(rhs) != 0`. |
| |
| [#boost_regex.basic_regex.op_lt] |
| |
| template <class charT, class traits> |
| bool operator < (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| [*Effects]: Returns `lhs.compare(rhs) < 0`. |
| |
| [#boost_regex.basic_regex.op_le] |
| |
| template <class charT, class traits> |
| bool operator <= (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| [*Effects]: Returns `lhs.compare(rhs) <= 0`. |
| |
| [#boost_regex.basic_regex.op_ge] |
| |
| template <class charT, class traits> |
| bool operator >= (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| [*Effects]: Returns `lhs.compare(rhs) >= 0`. |
| |
| [#boost_regex.basic_regex.op_gt] |
| |
| template <class charT, class traits> |
| bool operator > (const basic_regex<charT, traits>& lhs, |
| const basic_regex<charT, traits>& rhs); |
| |
| [*Effects]: Returns `lhs.compare(rhs) > 0`. |
| |
| [note The basic_regex stream inserter is provided on an experimental basis, |
| and outputs the textual representation of the expression to the stream.] |
| |
| [#boost_regex.basic_regex.op_stream] |
| |
| template <class charT, class io_traits, class re_traits> |
| basic_ostream<charT, io_traits>& |
| operator << (basic_ostream<charT, io_traits>& os |
| const basic_regex<charT, re_traits>& e); |
| |
| [*Effects]: Returns `(os << e.str())`. |
| |
| [#boost_regex.basic_regex.op_swap] |
| |
| template <class charT, class traits> |
| void swap(basic_regex<charT, traits>& lhs, |
| basic_regex<charT, traits>& rhs); |
| |
| [*Effects]: calls `lhs.swap(rhs)`. |
| |
| [endsect] |
| |