table of contents
std::__detail(3cxx) | std::__detail(3cxx) |
NAME¶
std::__detail - Implementation details not part of the namespace std interface.
SYNOPSIS¶
Classes¶
struct _BracketMatcher
Matches a character range (bracket expression) class _Compiler
Builds an NFA from an input iterator range. 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. struct
_Equal_helper
struct _Equal_helper< _Key, _Value, _ExtractKey, _Equal, _HashCodeType,
false >
Specialization. struct _Equal_helper< _Key, _Value, _ExtractKey, _Equal,
_HashCodeType, true >
Specialization. struct _Equality
struct _Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2,
_Hash, _RehashPolicy, _Traits, false >
Specialization. struct _Equality< _Key, _Value, _Alloc, _ExtractKey,
_Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >
Specialization. struct _Equality_base
class _Executor
Takes a regex and an input string and does the matching. struct
_Hash_code_base
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. 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.
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. struct
_Hash_node
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
struct _Hashtable_ebo_helper< _Nm, _Tp, false >
Specialization not using EBO. struct _Hashtable_ebo_helper< _Nm, _Tp,
true >
Specialization using EBO. struct _Hashtable_traits
struct _Insert
struct _Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2,
_Hash, _RehashPolicy, _Traits, false >
Specialization. struct _Insert< _Key, _Value, _Alloc, _ExtractKey,
_Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >
Specialization. struct _Insert_base
struct _List_node_base
Common part of a node in the list. struct _List_node_header
The list node header. struct _Local_const_iterator
local const_iterators struct _Local_iterator
local iterators struct _Local_iterator_base
struct _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash,
true >
Partial specialization used when nodes contain a cached hash code. struct
_Map_base
struct _Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2,
_Hash, _RehashPolicy, _Traits, false >
Partial specialization, __unique_keys set to false. struct _Map_base<
_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy,
_Traits, true >
Partial specialization, __unique_keys set to true. struct
_Mask_range_hashing
Range hashing function assuming that second arg is a power of 2. struct
_Mod_range_hashing
Default range hashing function: use division to fold a large number into the
range [0, N). struct _Node_const_iterator
Node const_iterators, used to iterate through all the hashtable. struct
_Node_iterator
Node iterators, used to iterate through all the hashtable. struct
_Node_iterator_base
Base class for node iterators. struct _Power2_rehash_policy
Rehash policy providing power of 2 bucket numbers. Avoids modulo operations.
struct _Prime_rehash_policy
Default value for rehash policy. Bucket size is (usually) the smallest prime
that keeps the load factor small enough. struct _Quoted_string
Struct for delimited strings. struct _Rehash_base
struct _Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1,
_H2, _Hash, _RehashPolicy, _Traits, std::false_type >
Specialization when rehash policy doesn't provide load factor management.
struct _Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1,
_H2, _Hash, _RehashPolicy, _Traits, std::true_type >
Specialization when rehash policy provide load factor management. class
_Scanner
Scans an input range for regex tokens. 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.
Typedefs¶
template<typename _Iter , typename _TraitsT >
using __disable_if_contiguous_iter = __enable_if_t<
!__is_contiguous_iter< _Iter >::value, std::shared_ptr<
const _NFA< _TraitsT > > >
template<typename _Iter , typename _TraitsT > using
__enable_if_contiguous_iter = __enable_if_t<
__is_contiguous_iter< _Iter >::value, std::shared_ptr<
const _NFA< _TraitsT > > >
template<typename _Policy > using
__has_load_factor = typename _Policy::__has_load_factor
template<typename _Key , typename _Value ,
typename _ExtractKey , typename _H1 , typename
_H2 , typename _Hash > using
__hash_code_for_local_iter = _Hash_code_storage<
_Hash_code_base< _Key, _Value, _ExtractKey, _H1,
_H2, _Hash, false > >
template<typename _CharT > using _Matcher =
std::function< bool(_CharT)>
typedef long _StateIdT
Enumerations¶
enum _Opcode : int { _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 }
Operation codes that define the type of transitions within the base NFA that
represents the regular expression. enum class _RegexExecutorPolicy :
int { _S_auto, _S_alternate }
Functions¶
template<typename _Up , typename _Tp >
constexpr _Up __absu (_Tp __val)
template<typename _Up > void __absu
(bool)=delete
std::size_t __clp2 (std::size_t __n) noexcept
Compute closest power of 2 not less than __n. template<typename
_TraitsT , typename _FwdIter >
__enable_if_contiguous_iter< _FwdIter, _TraitsT >
__compile_nfa (_FwdIter __first, _FwdIter __last,
const typename _TraitsT::locale_type &__loc,
regex_constants::syntax_option_type __flags)
template<typename _TraitsT , typename _FwdIter >
__disable_if_contiguous_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)
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, std::input_iterator_tag)
template<typename _Container , typename _Predicate >
_Container::size_type __erase_nodes_if (_Container
&__cont, _Predicate __pred)
template<typename _ValT , typename _CharT ,
typename _Traits > basic_istream< _CharT, _Traits >
& __extract_params (basic_istream< _CharT, _Traits >
&__is, vector< _ValT > &__vals,
size_t __n)
template<typename _Tp > constexpr _Tp __gcd (_Tp
__m, _Tp __n)
template<typename _Tp > constexpr _Tp __lcm (_Tp
__m, _Tp __n)
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 _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 _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 _CharT , typename _Traits , typename
_String > std::basic_ostream< _CharT, _Traits > &
operator<< (std::basic_ostream< _CharT, _Traits >
&__os, const _Quoted_string< _String, _CharT
> &__str)
Inserter for quoted strings. template<typename _CharT ,
typename _Traits > std::basic_ostream< _CharT, _Traits
> & operator<< (std::basic_ostream< _CharT,
_Traits > &__os, const _Quoted_string<
const _CharT *, _CharT > &__str)
Inserter for quoted strings. 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 _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 _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)
Extractor for delimited strings. The left and right delimiters can be
different.
Variables¶
static const _StateIdT _S_invalid_state_id
Detailed Description¶
Implementation details not part of the namespace std interface.
Enumeration Type Documentation¶
enum class std::__detail::_RegexExecutorPolicy : int [strong]¶
Definition at line 45 of file regex.h.
Function Documentation¶
template<typename _Up , typename _Tp > constexpr _Up std::__detail::__absu (_Tp __val) [constexpr]¶
Definition at line 90 of file numeric.
template<typename _TraitsT , typename _FwdIter > __disable_if_contiguous_iter< _FwdIter, _TraitsT > std::__detail::__compile_nfa (_FwdIter __first, _FwdIter __last, const typename _TraitsT::locale_type & __loc, regex_constants::syntax_option_type __flags) [inline]¶
Definition at line 188 of file regex_compiler.h.
template<typename _Container , typename _Predicate > _Container::size_type std::__detail::__erase_nodes_if (_Container & __cont, _Predicate __pred)¶
Definition at line 49 of file erase_if.h.
template<typename _ValT , typename _CharT , typename _Traits > basic_istream< _CharT, _Traits > & std::__detail::__extract_params (basic_istream< _CharT, _Traits > & __is, vector< _ValT > & __vals, size_t __n)¶
Definition at line 2774 of file bits/random.tcc.
template<typename _Tp > constexpr _Tp std::__detail::__gcd (_Tp __m, _Tp __n) [constexpr]¶
Definition at line 103 of file numeric.
template<typename _Tp > constexpr _Tp std::__detail::__lcm (_Tp __m, _Tp __n) [constexpr]¶
Definition at line 114 of file numeric.
template<typename _InputIterator , typename _OutputIterator , typename _Tp > _OutputIterator std::__detail::__normalize (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp & __factor)¶
Definition at line 84 of file bits/random.tcc.
template<typename _BiIter , typename _Alloc , typename _CharT , typename _TraitsT , _RegexExecutorPolicy __policy, bool __match_mode> bool std::__detail::__regex_algo_impl (_BiIter __s, _BiIter __e, match_results< _BiIter, _Alloc > & __m, const basic_regex< _CharT, _TraitsT > & __re, regex_constants::match_flag_type __flags)¶
Definition at line 48 of file regex.tcc.
template<typename _Tp > bool std::__detail::_Power_of_2 (_Tp __x) [inline]¶
Definition at line 46 of file uniform_int_dist.h.
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 1 of file quoted_string.h.
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 1 of file quoted_string.h.
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 139 of file quoted_string.h.
References std::ios_base::skipws.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ |