| member type | definition | notes | 
|---|
| value_type | sub_match<BidirectionalIterator> | Type of the elements stored (sub_match). | 
| char_type | iterator_traits<BidirectionalIterator>::value_type | Type of the characters in the sequence. | 
| string_type | basic_string<char_type> | Type of string for the characters type. | 
| allocator_type | the second template parameter (Alloc) | defaults to: allocator<value_type> | 
| reference | const value_type& |  | 
| const_reference | const value_type& |  | 
| iterator | a forward iterator to const value_type |  | 
| const_iterator | a forward iterator to const value_type |  | 
| size_type | iterator_traits<BidirectionalIterator>::difference_type | usually the same as size_t | 
| difference_type | iterator_traits<BidirectionalIterator>::size_type | usually the same as ptrdiff_t |