std::__detail

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

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_normal_iter = typename enable_if< !__is_contiguous_normal_iter< _Iter >::value, std::shared_ptr< const _NFA< _TraitsT > > >::type

template<typename _Iter , typename _TraitsT > using __enable_if_contiguous_normal_iter = typename enable_if< __is_contiguous_normal_iter< _Iter >::value, std::shared_ptr< const _NFA< _TraitsT > > >::type

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 _RegexExecutorPolicy : int { _S_auto, _S_alternate }
 

Functions


template<typename _Tp > constexpr enable_if_t< __and_< is_integral< _Tp >, is_signed< _Tp > >::value, _Tp > __abs_integral (_Tp __val)

template<typename _Tp > constexpr enable_if_t< __and_< is_integral< _Tp >, is_unsigned< _Tp > >::value, _Tp > __abs_integral (_Tp __val)

void __abs_integral (bool)=delete

_GLIBCXX14_CONSTEXPR std::size_t __clp2 (std::size_t __n) noexcept
Compute closest power of 2.
template<typename _TraitsT , typename _FwdIter > __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<typename _TraitsT , typename _FwdIter > __disable_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 _Mn , typename _Nn > constexpr common_type_t< _Mn, _Nn > __gcd (_Mn __m, _Nn __n)

template<typename _Mn , typename _Nn > constexpr common_type_t< _Mn, _Nn > __lcm (_Mn __m, _Nn __n)
Least common multiple.
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 , 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 _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)
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.  

Function Documentation

 

template<typename _Mn , typename _Nn > constexpr common_type_t<_Mn, _Nn> std::__detail::__lcm (_Mn __m, _Nn __n)

Least common multiple.

Definition at line 113 of file numeric.  

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 117 of file quoted_string.h.

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

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 93 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 139 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().  

Author

Generated automatically by Doxygen for libstdc++ from the source code.


 

Index

NAME
SYNOPSIS
Classes
Typedefs
Enumerations
Functions
Variables
Detailed Description
Function Documentation
template<typename _Mn , typename _Nn > constexpr common_type_t<_Mn, _Nn> std::__detail::__lcm (_Mn __m, _Nn __n)
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)
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)
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)
Author