libstdc++
std::__detail Namespace Reference

Classes

struct  _BracketMatcher
 Matches a character range (bracket expression) More...
class  _Compiler
 Builds an NFA from an input iterator range. More...
struct  _Default_ranged_hash
 Default ranged hash function H. In principle it should be a function object composed from objects of type H1 and H2 such that h(k, N) = h2(h1(k), N), but that would mean making extra copies of h1 and h2. So instead we'll just use a tag to tell class template hashtable to do that composition. More...
struct  _Equal_helper< _Key, _Value, _ExtractKey, _Equal, _HashCodeType, false >
 Specialization. More...
struct  _Equal_helper< _Key, _Value, _ExtractKey, _Equal, _HashCodeType, true >
 Specialization. More...
struct  _Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >
 Specialization. More...
struct  _Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >
 Specialization. More...
struct  _Equality_base
class  _Executor
 Takes a regex and an input string and does the matching. More...
struct  _Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >
 Specialization: hash function and range-hashing function, no caching of hash codes. Provides typedef and accessor required by C++ 11. More...
struct  _Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, true >
 Specialization: hash function and range-hashing function, caching hash codes. H is provided but ignored. Provides typedef and accessor required by C++ 11. More...
struct  _Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, false >
 Specialization: ranged hash function, no caching hash codes. H1 and H2 are provided but ignored. We define a dummy hash code type. More...
struct  _Hash_node< _Value, false >
struct  _Hash_node< _Value, true >
struct  _Hash_node_base
struct  _Hash_node_value_base
struct  _Hashtable_alloc
struct  _Hashtable_base
struct  _Hashtable_ebo_helper< _Nm, _Tp, false >
 Specialization not using EBO. More...
struct  _Hashtable_ebo_helper< _Nm, _Tp, true >
 Specialization using EBO. More...
struct  _Hashtable_traits
struct  _Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false, _Unique_keys >
 Specialization. More...
struct  _Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true, false >
 Specialization. More...
struct  _Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true, true >
 Specialization. More...
struct  _Insert_base
struct  _List_node_base
 Common part of a node in the list. More...
struct  _Local_const_iterator
 local const_iterators More...
struct  _Local_iterator
 local iterators More...
struct  _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, true >
 Partial specialization used when nodes contain a cached hash code. More...
struct  _Map_base
struct  _Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >
 Partial specialization, __unique_keys set to false. More...
struct  _Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >
 Partial specialization, __unique_keys set to true. More...
struct  _Mod_range_hashing
 Default range hashing function: use division to fold a large number into the range [0, N). More...
struct  _Node_const_iterator
 Node const_iterators, used to iterate through all the hashtable. More...
struct  _Node_iterator
 Node iterators, used to iterate through all the hashtable. More...
struct  _Node_iterator_base
 Base class for node iterators. More...
struct  _Prime_rehash_policy
 Default value for rehash policy. Bucket size is (usually) the smallest prime that keeps the load factor small enough. More...
struct  _Quoted_string
 Struct for delimited strings. More...
struct  _Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _Prime_rehash_policy, _Traits >
 Specialization. More...
class  _Scanner
 Scans an input range for regex tokens. More...
class  _StateSeq
 Describes a sequence of one or more _State, its current start and end(s). This structure contains fragments of an NFA during construction. More...

Typedefs

typedef long _StateIdT

Enumerations

enum  _Opcode {
  _S_opcode_unknown, _S_opcode_alternative, _S_opcode_repeat, _S_opcode_backref,
  _S_opcode_line_begin_assertion, _S_opcode_line_end_assertion, _S_opcode_word_boundary, _S_opcode_subexpr_lookahead,
  _S_opcode_subexpr_begin, _S_opcode_subexpr_end, _S_opcode_dummy, _S_opcode_match,
  _S_opcode_accept
}
enum  _RegexExecutorPolicy { _S_auto, _S_alternate }

Functions

template<typename _FwdIter , typename _TraitsT >
__enable_if_contiguous_normal_iter
< _FwdIter, _TraitsT > 
__compile_nfa (_FwdIter __first, _FwdIter __last, const typename _TraitsT::locale_type &__loc, regex_constants::syntax_option_type __flags)
template<class _Iterator >
std::iterator_traits
< _Iterator >::difference_type 
__distance_fw (_Iterator __first, _Iterator __last, std::input_iterator_tag)
template<class _Iterator >
std::iterator_traits
< _Iterator >::difference_type 
__distance_fw (_Iterator __first, _Iterator __last, std::forward_iterator_tag)
template<class _Iterator >
std::iterator_traits
< _Iterator >::difference_type 
__distance_fw (_Iterator __first, _Iterator __last)
template<typename _InputIterator , typename _OutputIterator , typename _Tp >
_OutputIterator __normalize (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &__factor)
template<typename _BiIter , typename _Alloc , typename _CharT , typename _TraitsT , _RegexExecutorPolicy __policy, bool __match_mode>
bool __regex_algo_impl (_BiIter __s, _BiIter __e, match_results< _BiIter, _Alloc > &__m, const basic_regex< _CharT, _TraitsT > &__re, regex_constants::match_flag_type __flags)
template<typename _Tp >
bool _Power_of_2 (_Tp __x)
template<typename _Value , bool _Cache_hash_code>
bool operator!= (const _Node_iterator_base< _Value, _Cache_hash_code > &__x, const _Node_iterator_base< _Value, _Cache_hash_code > &__y) noexcept
template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 , typename _Hash , bool __cache>
bool operator!= (const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__x, const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__y)
template<typename _CharT , typename _Traits >
std::basic_ostream< _CharT,
_Traits > & 
operator<< (std::basic_ostream< _CharT, _Traits > &__os, const _Quoted_string< const _CharT *, _CharT > &__str)
template<typename _CharT , typename _Traits , typename _String >
std::basic_ostream< _CharT,
_Traits > & 
operator<< (std::basic_ostream< _CharT, _Traits > &__os, const _Quoted_string< _String, _CharT > &__str)
template<typename _Value , bool _Cache_hash_code>
bool operator== (const _Node_iterator_base< _Value, _Cache_hash_code > &__x, const _Node_iterator_base< _Value, _Cache_hash_code > &__y) noexcept
template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 , typename _Hash , bool __cache>
bool operator== (const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__x, const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__y)
template<typename _CharT , typename _Traits , typename _Alloc >
std::basic_istream< _CharT,
_Traits > & 
operator>> (std::basic_istream< _CharT, _Traits > &__is, const _Quoted_string< basic_string< _CharT, _Traits, _Alloc > &, _CharT > &__str)

Variables

static const _StateIdT _S_invalid_state_id

Detailed Description

Implementation details not part of the namespace std interface.


Function Documentation

template<typename _CharT , typename _Traits >
std::basic_ostream<_CharT, _Traits>& std::__detail::operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const _Quoted_string< const _CharT *, _CharT > &  __str 
)

Inserter for quoted strings.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 2344 quoted()'s interaction with padding is unclear

Definition at line 75 of file quoted_string.h.

References std::basic_ostringstream< _CharT, _Traits, _Alloc >::str().

template<typename _CharT , typename _Traits , typename _String >
std::basic_ostream<_CharT, _Traits>& std::__detail::operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const _Quoted_string< _String, _CharT > &  __str 
)

Inserter for quoted strings.

_GLIBCXX_RESOLVE_LIB_DEFECTS DR 2344 quoted()'s interaction with padding is unclear

Definition at line 99 of file quoted_string.h.

References std::basic_ostringstream< _CharT, _Traits, _Alloc >::str().

template<typename _CharT , typename _Traits , typename _Alloc >
std::basic_istream<_CharT, _Traits>& std::__detail::operator>> ( std::basic_istream< _CharT, _Traits > &  __is,
const _Quoted_string< basic_string< _CharT, _Traits, _Alloc > &, _CharT > &  __str 
)

Extractor for delimited strings. The left and right delimiters can be different.

Definition at line 121 of file quoted_string.h.

References std::basic_ios< _CharT, _Traits >::clear(), std::ios_base::flags(), std::basic_ios< _CharT, _Traits >::good(), std::ios_base::setf(), std::skipws(), and std::basic_istream< _CharT, _Traits >::unget().