123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680 |
- [/
- 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 `0 <= 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 expression.
- [#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]
|