.TH "std::__detail" 3cxx "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::__detail \- Implementation details not part of the namespace std interface\&. .SH SYNOPSIS .br .PP .SS "Classes" .in +1c .ti -1c .RI "struct \fB_BracketMatcher\fP" .br .RI "Matches a character range (bracket expression) " .ti -1c .RI "class \fB_Compiler\fP" .br .RI "Builds an NFA from an input iterator range\&. " .ti -1c .RI "struct \fB_Default_ranged_hash\fP" .br .RI "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\&. " .ti -1c .RI "struct \fB_Equality\fP" .br .ti -1c .RI "struct \fB_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >\fP" .br .RI "unordered_multiset and unordered_multimap specializations\&. " .ti -1c .RI "struct \fB_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >\fP" .br .RI "unordered_map and unordered_set specializations\&. " .ti -1c .RI "class \fB_Executor\fP" .br .RI "Takes a regex and an input string and does the matching\&. " .ti -1c .RI "struct \fB_Hash_code_base\fP" .br .ti -1c .RI "struct \fB_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >\fP" .br .RI "Specialization: hash function and range-hashing function, no caching of hash codes\&. Provides typedef and accessor required by C++ 11\&. " .ti -1c .RI "struct \fB_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, true >\fP" .br .RI "Specialization: hash function and range-hashing function, caching hash codes\&. H is provided but ignored\&. Provides typedef and accessor required by C++ 11\&. " .ti -1c .RI "struct \fB_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, false >\fP" .br .RI "Specialization: ranged hash function, no caching hash codes\&. H1 and H2 are provided but ignored\&. We define a dummy hash code type\&. " .ti -1c .RI "struct \fB_Hash_node\fP" .br .ti -1c .RI "struct \fB_Hash_node< _Value, false >\fP" .br .ti -1c .RI "struct \fB_Hash_node< _Value, true >\fP" .br .ti -1c .RI "struct \fB_Hash_node_base\fP" .br .ti -1c .RI "struct \fB_Hash_node_value_base\fP" .br .ti -1c .RI "struct \fB_Hashtable_alloc\fP" .br .ti -1c .RI "struct \fB_Hashtable_base\fP" .br .ti -1c .RI "struct \fB_Hashtable_ebo_helper\fP" .br .ti -1c .RI "struct \fB_Hashtable_ebo_helper< _Nm, _Tp, false >\fP" .br .RI "Specialization not using EBO\&. " .ti -1c .RI "struct \fB_Hashtable_ebo_helper< _Nm, _Tp, true >\fP" .br .RI "Specialization using EBO\&. " .ti -1c .RI "struct \fB_Hashtable_traits\fP" .br .ti -1c .RI "struct \fB_Insert\fP" .br .ti -1c .RI "struct \fB_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >\fP" .br .RI "Specialization\&. " .ti -1c .RI "struct \fB_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >\fP" .br .RI "Specialization\&. " .ti -1c .RI "struct \fB_Insert_base\fP" .br .ti -1c .RI "struct \fB_List_node_base\fP" .br .RI "Common part of a node in the list\&. " .ti -1c .RI "struct \fB_List_node_header\fP" .br .RI "The list node header\&. " .ti -1c .RI "struct \fB_Local_const_iterator\fP" .br .RI "local const_iterators " .ti -1c .RI "struct \fB_Local_iterator\fP" .br .RI "local iterators " .ti -1c .RI "struct \fB_Local_iterator_base\fP" .br .ti -1c .RI "struct \fB_Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, true >\fP" .br .RI "Partial specialization used when nodes contain a cached hash code\&. " .ti -1c .RI "struct \fB_Map_base\fP" .br .ti -1c .RI "struct \fB_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >\fP" .br .RI "Partial specialization, __unique_keys set to false\&. " .ti -1c .RI "struct \fB_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >\fP" .br .RI "Partial specialization, __unique_keys set to true\&. " .ti -1c .RI "struct \fB_Mask_range_hashing\fP" .br .RI "Range hashing function assuming that second arg is a power of 2\&. " .ti -1c .RI "struct \fB_Mod_range_hashing\fP" .br .RI "Default range hashing function: use division to fold a large number into the range [0, N)\&. " .ti -1c .RI "struct \fB_Node_const_iterator\fP" .br .RI "Node const_iterators, used to iterate through all the hashtable\&. " .ti -1c .RI "struct \fB_Node_iterator\fP" .br .RI "Node iterators, used to iterate through all the hashtable\&. " .ti -1c .RI "struct \fB_Node_iterator_base\fP" .br .RI "Base class for node iterators\&. " .ti -1c .RI "struct \fB_Power2_rehash_policy\fP" .br .RI "Rehash policy providing power of 2 bucket numbers\&. Avoids modulo operations\&. " .ti -1c .RI "struct \fB_Prime_rehash_policy\fP" .br .RI "Default value for rehash policy\&. Bucket size is (usually) the smallest prime that keeps the load factor small enough\&. " .ti -1c .RI "struct \fB_Quoted_string\fP" .br .RI "Struct for delimited strings\&. " .ti -1c .RI "struct \fB_Rehash_base\fP" .br .ti -1c .RI "struct \fB_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false_type >\fP" .br .RI "Specialization when rehash policy doesn't provide load factor management\&. " .ti -1c .RI "struct \fB_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true_type >\fP" .br .RI "Specialization when rehash policy provide load factor management\&. " .ti -1c .RI "class \fB_Scanner\fP" .br .RI "Scans an input range for regex tokens\&. " .ti -1c .RI "class \fB_StateSeq\fP" .br .RI "Describes a sequence of one or more _State, its current start and end(s)\&. This structure contains fragments of an NFA during construction\&. " .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "template<\fBtypename\fP _Iter , \fBtypename\fP _TraitsT > \fBusing\fP \fB__disable_if_contiguous_iter\fP = __enable_if_t< !__is_contiguous_iter< _Iter >::value, \fBstd::shared_ptr\fP< \fBconst\fP _NFA< _TraitsT > > >" .br .ti -1c .RI "template<\fBtypename\fP _Iter , \fBtypename\fP _TraitsT > \fBusing\fP \fB__enable_if_contiguous_iter\fP = __enable_if_t< __is_contiguous_iter< _Iter >::value, \fBstd::shared_ptr\fP< \fBconst\fP _NFA< _TraitsT > > >" .br .ti -1c .RI "template<\fBtypename\fP \fB_Policy\fP > \fBusing\fP \fB__has_load_factor\fP = \fBtypename\fP _Policy::__has_load_factor" .br .ti -1c .RI "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Value , \fBtypename\fP _ExtractKey , \fBtypename\fP \fB_H1\fP , \fBtypename\fP \fB_H2\fP , \fBtypename\fP \fB_Hash\fP > \fBusing\fP \fB__hash_code_for_local_iter\fP = _Hash_code_storage< \fB_Hash_code_base\fP< \fB_Key\fP, _Value, _ExtractKey, \fB_H1\fP, \fB_H2\fP, \fB_Hash\fP, \fBfalse\fP > >" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBusing\fP \fB__integer_from_chars_result_type\fP = \fBenable_if_t\fP< __or_< \fB__is_signed_integer\fP< _Tp >, \fB__is_unsigned_integer\fP< _Tp >, \fBis_same\fP< char, \fBremove_cv_t\fP< _Tp > > >::value, \fBfrom_chars_result\fP >" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBusing\fP \fB__integer_to_chars_result_type\fP = \fBenable_if_t\fP< __or_< \fB__is_signed_integer\fP< _Tp >, \fB__is_unsigned_integer\fP< _Tp >, \fBis_same\fP< char, \fBremove_cv_t\fP< _Tp > > >::value, \fBto_chars_result\fP >" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBusing\fP \fB__unsigned_least_t\fP = \fBtypename\fP __to_chars_unsigned_type< _Tp >::type" .br .ti -1c .RI "template<\fBtypename\fP _CharT > \fBusing\fP \fB_Matcher\fP = std::function< bool(_CharT)>" .br .ti -1c .RI "\fBtypedef\fP long \fB_StateIdT\fP" .br .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fB_Opcode\fP : int { \fB_S_opcode_unknown\fP, \fB_S_opcode_alternative\fP, \fB_S_opcode_repeat\fP, \fB_S_opcode_backref\fP, \fB_S_opcode_line_begin_assertion\fP, \fB_S_opcode_line_end_assertion\fP, \fB_S_opcode_word_boundary\fP, \fB_S_opcode_subexpr_lookahead\fP, \fB_S_opcode_subexpr_begin\fP, \fB_S_opcode_subexpr_end\fP, \fB_S_opcode_dummy\fP, \fB_S_opcode_match\fP, \fB_S_opcode_accept\fP }" .br .RI "Operation codes that define the type of transitions within the base NFA that represents the regular expression\&. " .ti -1c .RI "enum class \fB_RegexExecutorPolicy\fP : int { \fB_S_auto\fP, \fB_S_alternate\fP }" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "template<\fBtypename\fP \fB_Res\fP , \fBtypename\fP _Tp > \fBconstexpr\fP \fB_Res\fP \fB__abs_r\fP (_Tp __val)" .br .ti -1c .RI "template<\fBtypename\fP > \fBvoid\fP \fB__abs_r\fP (bool)=\fBdelete\fP" .br .ti -1c .RI "std::size_t \fB__clp2\fP (std::size_t __n) \fBnoexcept\fP" .br .RI "Compute closest power of 2 not less than __n\&. " .ti -1c .RI "template<\fBtypename\fP _TraitsT , \fBtypename\fP \fB_FwdIter\fP > \fB__enable_if_contiguous_iter\fP< \fB_FwdIter\fP, _TraitsT > \fB__compile_nfa\fP (\fB_FwdIter\fP __first, \fB_FwdIter\fP __last, \fBconst\fP \fBtypename\fP _TraitsT::locale_type &\fB__loc\fP, \fBregex_constants::syntax_option_type\fP __flags)" .br .ti -1c .RI "template<\fBtypename\fP _TraitsT , \fBtypename\fP \fB_FwdIter\fP > \fB__disable_if_contiguous_iter\fP< \fB_FwdIter\fP, _TraitsT > \fB__compile_nfa\fP (\fB_FwdIter\fP __first, \fB_FwdIter\fP __last, \fBconst\fP \fBtypename\fP _TraitsT::locale_type &\fB__loc\fP, \fBregex_constants::syntax_option_type\fP __flags)" .br .ti -1c .RI "template<\fBclass\fP _Iterator > \fBstd::iterator_traits\fP< _Iterator >::difference_type \fB__distance_fw\fP (_Iterator __first, _Iterator __last)" .br .ti -1c .RI "template<\fBclass\fP _Iterator > \fBstd::iterator_traits\fP< _Iterator >::difference_type \fB__distance_fw\fP (_Iterator __first, _Iterator __last, \fBstd::forward_iterator_tag\fP)" .br .ti -1c .RI "template<\fBclass\fP _Iterator > \fBstd::iterator_traits\fP< _Iterator >::difference_type \fB__distance_fw\fP (_Iterator __first, _Iterator __last, \fBstd::input_iterator_tag\fP)" .br .ti -1c .RI "template<\fBtypename\fP _Container , \fBtypename\fP _Predicate > _Container::size_type \fB__erase_nodes_if\fP (_Container &\fB__cont\fP, _Predicate \fB__pred\fP)" .br .ti -1c .RI "template<\fBtypename\fP \fB_ValT\fP , \fBtypename\fP _CharT , \fBtypename\fP _Traits > \fBbasic_istream\fP< _CharT, _Traits > & \fB__extract_params\fP (\fBbasic_istream\fP< _CharT, _Traits > &\fB__is\fP, \fBvector\fP< \fB_ValT\fP > &\fB__vals\fP, size_t __n)" .br .ti -1c .RI "template<\fBtypename\fP _Tp > bool \fB__from_chars_alnum\fP (\fBconst\fP char *&__first, \fBconst\fP char *__last, _Tp &__val, int __base)" .br .RI "std::from_chars implementation for integers in bases 11 to 36\&. " .ti -1c .RI "\fBconstexpr\fP char \fB__from_chars_alpha_to_num\fP (char __c)" .br .ti -1c .RI "template<\fBtypename\fP _Tp > bool \fB__from_chars_binary\fP (\fBconst\fP char *&__first, \fBconst\fP char *__last, _Tp &__val)" .br .RI "std::from_chars implementation for integers in base 2\&. " .ti -1c .RI "template<\fBtypename\fP _Tp > bool \fB__from_chars_digit\fP (\fBconst\fP char *&__first, \fBconst\fP char *__last, _Tp &__val, int __base)" .br .RI "std::from_chars implementation for integers in bases 3 to 10\&. " .ti -1c .RI "template<\fBtypename\fP _Tp > \fBconstexpr\fP _Tp \fB__gcd\fP (_Tp \fB__m\fP, _Tp __n)" .br .ti -1c .RI "template<\fBtypename\fP \fB_InputIterator\fP , \fBtypename\fP _OutputIterator , \fBtypename\fP _Tp > _OutputIterator \fB__normalize\fP (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last, _OutputIterator __result, \fBconst\fP _Tp &\fB__factor\fP)" .br .ti -1c .RI "template<\fBtypename\fP _Tp > bool \fB__raise_and_add\fP (_Tp &__val, int __base, unsigned char __c)" .br .ti -1c .RI "template<\fBtypename\fP _BiIter , \fBtypename\fP _Alloc , \fBtypename\fP _CharT , \fBtypename\fP _TraitsT , _RegexExecutorPolicy __policy, bool __match_mode> bool \fB__regex_algo_impl\fP (_BiIter \fB__s\fP, _BiIter __e, \fBmatch_results\fP< _BiIter, _Alloc > &\fB__m\fP, \fBconst\fP \fBbasic_regex\fP< _CharT, _TraitsT > &\fB__re\fP, \fBregex_constants::match_flag_type\fP __flags)" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBvoid\fP \fB__return_temporary_buffer\fP (_Tp *__p, size_t \fB__len\fP)" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBto_chars_result\fP \fB__to_chars\fP (char *__first, char *__last, _Tp __val, int __base) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > __integer_to_chars_result_type< _Tp > \fB__to_chars_10\fP (char *__first, char *__last, _Tp __val) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBvoid\fP \fB__to_chars_10_impl\fP (char *__first, unsigned \fB__len\fP, _Tp __val) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > __integer_to_chars_result_type< _Tp > \fB__to_chars_16\fP (char *__first, char *__last, _Tp __val) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > __integer_to_chars_result_type< _Tp > \fB__to_chars_2\fP (char *__first, char *__last, _Tp __val) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > __integer_to_chars_result_type< _Tp > \fB__to_chars_8\fP (char *__first, char *__last, _Tp __val) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBconstexpr\fP unsigned \fB__to_chars_len\fP (_Tp __value, int __base) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > \fBconstexpr\fP unsigned \fB__to_chars_len_2\fP (_Tp __value) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp > bool \fB_Power_of_2\fP (_Tp __x)" .br .ti -1c .RI "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Value , \fBtypename\fP _ExtractKey , \fBtypename\fP \fB_H1\fP , \fBtypename\fP \fB_H2\fP , \fBtypename\fP \fB_Hash\fP , bool __cache> bool \fBoperator!=\fP (\fBconst\fP \fB_Local_iterator_base\fP< \fB_Key\fP, _Value, _ExtractKey, \fB_H1\fP, \fB_H2\fP, \fB_Hash\fP, __cache > &__x, \fBconst\fP \fB_Local_iterator_base\fP< \fB_Key\fP, _Value, _ExtractKey, \fB_H1\fP, \fB_H2\fP, \fB_Hash\fP, __cache > &\fB__y\fP)" .br .ti -1c .RI "template<\fBtypename\fP _Value , bool _Cache_hash_code> bool \fBoperator!=\fP (\fBconst\fP \fB_Node_iterator_base\fP< _Value, \fB_Cache_hash_code\fP > &__x, \fBconst\fP \fB_Node_iterator_base\fP< _Value, \fB_Cache_hash_code\fP > &\fB__y\fP) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _CharT , \fBtypename\fP _Traits , \fBtypename\fP _String > \fBstd::basic_ostream\fP< _CharT, _Traits > & \fBoperator<<\fP (\fBstd::basic_ostream\fP< _CharT, _Traits > &\fB__os\fP, \fBconst\fP \fB_Quoted_string\fP< _String, _CharT > &\fB__str\fP)" .br .RI "Inserter for quoted strings\&. " .ti -1c .RI "template<\fBtypename\fP _CharT , \fBtypename\fP _Traits > \fBstd::basic_ostream\fP< _CharT, _Traits > & \fBoperator<<\fP (\fBstd::basic_ostream\fP< _CharT, _Traits > &\fB__os\fP, \fBconst\fP \fB_Quoted_string\fP< \fBconst\fP _CharT *, _CharT > &\fB__str\fP)" .br .RI "Inserter for quoted strings\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Value , \fBtypename\fP _ExtractKey , \fBtypename\fP \fB_H1\fP , \fBtypename\fP \fB_H2\fP , \fBtypename\fP \fB_Hash\fP , bool __cache> bool \fBoperator==\fP (\fBconst\fP \fB_Local_iterator_base\fP< \fB_Key\fP, _Value, _ExtractKey, \fB_H1\fP, \fB_H2\fP, \fB_Hash\fP, __cache > &__x, \fBconst\fP \fB_Local_iterator_base\fP< \fB_Key\fP, _Value, _ExtractKey, \fB_H1\fP, \fB_H2\fP, \fB_Hash\fP, __cache > &\fB__y\fP)" .br .ti -1c .RI "template<\fBtypename\fP _Value , bool _Cache_hash_code> bool \fBoperator==\fP (\fBconst\fP \fB_Node_iterator_base\fP< _Value, \fB_Cache_hash_code\fP > &__x, \fBconst\fP \fB_Node_iterator_base\fP< _Value, \fB_Cache_hash_code\fP > &\fB__y\fP) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _CharT , \fBtypename\fP _Traits , \fBtypename\fP _Alloc > \fBstd::basic_istream\fP< _CharT, _Traits > & \fBoperator>>\fP (\fBstd::basic_istream\fP< _CharT, _Traits > &\fB__is\fP, \fBconst\fP \fB_Quoted_string\fP< \fBbasic_string\fP< _CharT, _Traits, _Alloc > &, _CharT > &\fB__str\fP)" .br .RI "Extractor for delimited strings\&. The left and right delimiters can be different\&. " .in -1c .SS "Variables" .in +1c .ti -1c .RI "\fBstatic\fP \fBconst\fP _StateIdT \fB_S_invalid_state_id\fP" .br .in -1c .SH "Detailed Description" .PP Implementation details not part of the namespace std interface\&. .SH "Function Documentation" .PP .SS "template<\fBtypename\fP _Tp > bool std::__detail::__from_chars_alnum (\fBconst\fP char *& __first, \fBconst\fP char * __last, _Tp & __val, int __base)" .PP std::from_chars implementation for integers in bases 11 to 36\&. .SS "template<\fBtypename\fP _Tp > bool std::__detail::__from_chars_binary (\fBconst\fP char *& __first, \fBconst\fP char * __last, _Tp & __val)" .PP std::from_chars implementation for integers in base 2\&. .SS "template<\fBtypename\fP _Tp > bool std::__detail::__from_chars_digit (\fBconst\fP char *& __first, \fBconst\fP char * __last, _Tp & __val, int __base)" .PP std::from_chars implementation for integers in bases 3 to 10\&. .SS "template<\fBtypename\fP _CharT , \fBtypename\fP _Traits , \fBtypename\fP _String > \fBstd::basic_ostream\fP< _CharT, _Traits > & std::__detail::operator<< (\fBstd::basic_ostream\fP< _CharT, _Traits > & __os, \fBconst\fP \fB_Quoted_string\fP< _String, _CharT > & __str)" .PP Inserter for quoted strings\&. _GLIBCXX_RESOLVE_LIB_DEFECTS DR 2344 quoted()'s interaction with padding is unclear .SS "template<\fBtypename\fP _CharT , \fBtypename\fP _Traits > \fBstd::basic_ostream\fP< _CharT, _Traits > & std::__detail::operator<< (\fBstd::basic_ostream\fP< _CharT, _Traits > & __os, \fBconst\fP \fB_Quoted_string\fP< \fBconst\fP _CharT *, _CharT > & __str)" .PP Inserter for quoted strings\&. _GLIBCXX_RESOLVE_LIB_DEFECTS DR 2344 quoted()'s interaction with padding is unclear .SS "template<\fBtypename\fP _CharT , \fBtypename\fP _Traits , \fBtypename\fP _Alloc > \fBstd::basic_istream\fP< _CharT, _Traits > & std::__detail::operator>> (\fBstd::basic_istream\fP< _CharT, _Traits > & __is, \fBconst\fP \fB_Quoted_string\fP< \fBbasic_string\fP< _CharT, _Traits, _Alloc > &, _CharT > & __str)" .PP Extractor for delimited strings\&. The left and right delimiters can be different\&. .PP References \fBstd::ios_base::skipws\fP\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.