home | help
std::match_results(3)	       C++ Standard Libary	   std::match_results(3)

NAME
     std::match_results - std::match_results

Synopsis
	Defined in header <regex>
	template<

	    class    BidirIt,						     (1)
     (since C++11)
	    class Alloc = std::allocator<std::sub_match<BidirIt>>

	> class match_results;
	namespace pmr {

	    template <class BidirIt>
	    using  match_results  =   std::match_results<BidirIt,	     (2)
     (since C++17)
				      std::pmr::polymorphic_allocator<
					  std::sub_match<BidirIt>>>;

	}

	The  class  template  std::match_results holds a collection of character
     sequences that
	represent the result of a regular expression match.

	This is a specialized allocator-aware container. It can only be  default
     created,
	obtained from std::regex_iterator, or modified by std::regex_search or
	std::regex_match.  Because  std::match_results	holds  std::sub_matches,
     each of which
	is a pair of iterators into the original  character  sequence  that  was
     matched, it's
	undefined behavior to examine std::match_results if the original charac-
     ter sequence
	was destroyed or iterators to it were invalidated for other reasons.

	The  first std::sub_match (index 0) contained in a std::match_result al-
     ways
	represents the full match within a target sequence made by a regex,  and
     subsequent
	std::sub_matches  represent  sub-expression matches corresponding in se-
     quence to the
	left parenthesis delimiting the sub-expression in the regex.

	std::match_results meets the requirements of  a  AllocatorAwareContainer
     and of a
	SequenceContainer,  except  that  only copy assignment, move assignment,
     and operations
	defined for a constant containers are supported, and that the  semantics
     of
	comparison functions are different from those required for a container.

Type requirements
	-
	BidirIt must meet the requirements of LegacyBidirectionalIterator.
	-
	Alloc must meet the requirements of Allocator.

Specializations
	Several  specializations  for  common  character sequence types are pro-
     vided:

	Defined in header <regex>
	Type			  Definition
	std::cmatch		  std::match_results<const char*>
	std::wcmatch		  std::match_results<const wchar_t*>
	std::smatch		    std::match_results<std::string::const_itera-
     tor>
	std::wsmatch		   std::match_results<std::wstring::const_itera-
     tor>
	std::pmr::cmatch (C++17)  std::pmr::match_results<const char*>
	std::pmr::wcmatch (C++17) std::pmr::match_results<const wchar_t*>
	std::pmr::smatch (C++17)  std::pmr::match_results<std::string::const_it-
     erator>
	std::pmr::wsmatch	       (C++17)		     std::pmr::match_re-
     sults<std::wstring::const_iterator>

Member types
	Member type	Definition
	allocator_type	Allocator
	value_type	std::sub_match<BidirIt>
	const_reference const value_type&
	reference	value_type&
	const_iterator	 implementation-defined  (depends on the underlying con-
     tainer)
	iterator	const_iterator
	difference_type std::iterator_traits<BidirIt>::difference_type
	size_type	std::allocator_traits<Alloc>::size_type
	char_type	std::iterator_traits<BidirIt>::value_type
	string_type	std::basic_string<char_type>

Member functions
	constructor   constructs the object
		      (public member function)
	destructor    destructs the object
		      (public member function)
	operator=     assigns the contents
		      (public member function)
	get_allocator returns the associated allocator
		      (public member function)

State
	ready	      checks if the results are available
		      (public member function)

Size
	empty	      checks whether the match was successful
		      (public member function)
	size	      returns the number of matches in a  fully-established  re-
     sult state
		      (public member function)
	max_size      returns the maximum possible number of sub-matches
		      (public member function)

Element access
	length	      returns the length of the particular sub-match
		      (public member function)
		      returns the position of the first character of the partic-
     ular
	position      sub-match
		      (public member function)
	str	      returns the sequence of characters for the particular sub-
     match
		      (public member function)
	operator[]    returns specified sub-match
		      (public member function)
		      returns  sub-sequence  between the beginning of the target
     sequence and
	prefix	      the beginning of the full match
		      (public member function)
		      returns sub-sequence between the end of the full match and
     the end of
	suffix	      the target sequence
		      (public member function)

Iterators
	begin	      returns iterator to the beginning  of  the  list	of  sub-
     matches
	cbegin	      (public member function)
	end	      returns iterator to the end of the list of sub-matches
	cend	      (public member function)

Format
	format	      formats match results for output
		      (public member function)

Modifiers
	swap	      swaps the contents
		      (public member function)

Non-member functions
	operator==		       lexicographically  compares the values in
     the two match
	operator!=		      result
	(removed in C++20)	      (function template)
	std::swap(std::match_results) specializes the std::swap algorithm
	(C++11) 		      (function template)

http://cppreference.com 	   2024.06.10		   std::match_results(3)

home | help