alternative Standard Libary  0.29.8
std::internal-Namensbereichsreferenz

Klassen

struct  _mod< Tp, m, a, c, true, s >
 
struct  alignof_helper
 
struct  compare_func
 
struct  list_base_node
 
struct  rb_tree_base
 
struct  rb_tree_key_wrapper
 
struct  rb_tree_traits
 
struct  slist_base_node
 
struct  type_with_alignment
 
struct  type_with_alignment< 0 >
 
struct  type_with_alignment< 1 >
 
struct  type_with_alignment< 16 >
 
struct  type_with_alignment< 2 >
 
struct  type_with_alignment< 4 >
 
struct  type_with_alignment< 8 >
 

Funktionen

struct __attribute__ ((aligned(16))) aligned16
 
template<typename Tp , Tp m, Tp a = 1, Tp c = 0>
Tp mod (Tp x)
 
template<typename TIter , typename TDist >
void distance (TIter first, TIter last, TDist &dist, std::random_access_iterator_tag)
 
template<typename TIter , typename TDist >
void distance (TIter first, TIter last, TDist &dist, std::input_iterator_tag)
 
template<typename TIter , typename TDist >
void advance (TIter &iter, TDist d, std::random_access_iterator_tag)
 
template<typename TIter , typename TDist >
void advance (TIter &iter, TDist d, std::bidirectional_iterator_tag)
 
template<typename TIter , typename TDist >
void advance (TIter &iter, TDist d, std::input_iterator_tag)
 
template<typename T , class TPredicate >
void quick_sort (T *data, long low, long high, TPredicate pred)
 
template<typename T , class TPredicate >
void down_heap (T *data, size_t k, size_t n, TPredicate pred)
 
template<typename E , class TAllocator = std::allocator, typename TStorage = std::simple_string_storage<E, TAllocator>>
basic_string< E, TAllocator, TStorage > __flagstostring (std::flags_t f=std::flags_t::dec)
 
template<class TAllocator = std::allocator, typename TStorage = std::simple_string_storage<char, TAllocator>>
basic_string< char, TAllocator, TStorage > __flagstostring (std::flags_t f=std::flags_t::dec)
 
template<typename T >
void copy_n (const T *first, size_t n, T *result, int_to_type< false >)
 
template<typename T >
void copy_n (const T *first, size_t n, T *result, int_to_type< true >)
 
template<typename T >
void copy (const T *first, const T *last, T *result, int_to_type< false >)
 
template<typename T >
void copy (const T *first, const T *last, T *result, int_to_type< true >)
 
template<typename T >
void move_n (const T *from, size_t n, T *result, int_to_type< false >)
 
template<typename T >
void move_n (const T *first, size_t n, T *result, int_to_type< true >)
 
template<typename T >
void move (const T *first, const T *last, T *result, int_to_type< false >)
 
template<typename T >
void move (const T *first, const T *last, T *result, int_to_type< true >)
 
template<typename T >
void copy_construct_n (const T *first, size_t n, T *result, int_to_type< false >)
 
template<typename T >
void copy_construct_n (const T *first, size_t n, T *result, int_to_type< true >)
 
template<typename T >
void destruct_n (T *first, size_t n, int_to_type< false >)
 
template<typename T >
void destruct_n (T *, size_t, int_to_type< true >)
 
template<typename T >
void destruct (T *mem, int_to_type< false >)
 
template<typename T >
void destruct (T *, int_to_type< true >)
 
template<typename T >
void construct (T *mem, int_to_type< false >)
 
template<typename T >
void construct (T *, int_to_type< true >)
 
template<typename T >
void copy_construct (T *mem, const T &orig, int_to_type< false >)
 
template<typename T >
void copy_construct (T *mem, const T &orig, int_to_type< true >)
 
template<typename T >
void construct_n (T *to, size_t count, int_to_type< false >)
 
template<typename T >
void construct_n (T *, int, int_to_type< true >)
 
template<class TIter , class TPred >
void test_ordering (TIter first, TIter last, const TPred &pred)
 
template<typename T1 , typename T2 , class TPred >
bool debug_pred (const TPred &pred, const T1 &a, const T2 &b)
 

Dokumentation der Funktionen

◆ __attribute__()

struct std::internal::__attribute__ ( (aligned(16))  )
51 { uint64_t member[2]; } ;

◆ __flagstostring() [1/2]

template<typename E , class TAllocator = std::allocator, typename TStorage = std::simple_string_storage<E, TAllocator>>
basic_string<E, TAllocator, TStorage> std::internal::__flagstostring ( std::flags_t  f = std::flags_t::dec)
inline
68  {
69  if (f & flags_t::dec)
70  return basic_string<E, TAllocator, TStorage>("d");
71  else if (f & flags_t::hex && f & flags_t::showbase)
72  return basic_string<E, TAllocator, TStorage>("0x%X");
73  else if (f & flags_t::hex)
74  return basic_string<E, TAllocator, TStorage>("%X");
75  else if (f & flags_t::oct)
76  {}//itoa(buf, 8, i);
77  else if (f & flags_t::bin)
78  return basic_string<E, TAllocator, TStorage>("%b");
79  return basic_string<E, TAllocator, TStorage>("%d");
80  }

◆ __flagstostring() [2/2]

template<class TAllocator = std::allocator, typename TStorage = std::simple_string_storage<char, TAllocator>>
basic_string<char, TAllocator, TStorage> std::internal::__flagstostring ( std::flags_t  f = std::flags_t::dec)
inline
82  {
83  return __flagstostring<char, TAllocator, TStorage>(f);
84  }

◆ advance() [1/3]

template<typename TIter , typename TDist >
void std::internal::advance ( TIter &  iter,
TDist  d,
std::random_access_iterator_tag   
)
inline
81  {
82  iter += d;
83  }

◆ advance() [2/3]

template<typename TIter , typename TDist >
void std::internal::advance ( TIter &  iter,
TDist  d,
std::bidirectional_iterator_tag   
)
inline
86  {
87  if (d >= 0)
88  {
89  while (d--)
90  ++iter;
91  }
92  else
93  {
94  while (d++)
95  --iter;
96  }
97  }

◆ advance() [3/3]

template<typename TIter , typename TDist >
void std::internal::advance ( TIter &  iter,
TDist  d,
std::input_iterator_tag   
)
inline
100  {
101  assert(d >= 0);
102  while (d--)
103  ++iter;
104  }

◆ construct() [1/2]

template<typename T >
void std::internal::construct ( T *  mem,
int_to_type< false >   
)
149  {
150  new (mem) T();
151  }

◆ construct() [2/2]

template<typename T >
void std::internal::construct ( T *  ,
int_to_type< true >   
)
inline
153  {
154  // Nothing to do
155  }

◆ construct_n() [1/2]

template<typename T >
void std::internal::construct_n ( T *  to,
size_t  count,
int_to_type< false >   
)
167  {
168  sizeof(to);
169  for (size_t i = 0; i < count; ++i)
170  new (to + i) T();
171  }

◆ construct_n() [2/2]

template<typename T >
void std::internal::construct_n ( T *  ,
int  ,
int_to_type< true >   
)
inline
173  {
174  // trivial ctor, nothing to do.
175  }

◆ copy() [1/2]

template<typename T >
void std::internal::copy ( const T *  first,
const T *  last,
T *  result,
int_to_type< false >   
)
81  {
82  T* localResult = result;
83  while (first != last)
84  *localResult++ = *first++;
85  }

◆ copy() [2/2]

template<typename T >
void std::internal::copy ( const T *  first,
const T *  last,
T *  result,
int_to_type< true >   
)
87  {
88  const size_t n = reinterpret_cast<const char*>(last) - reinterpret_cast<const char*>(first);
89  Sys::MemCpy(result, first, n);
90  }

◆ copy_construct() [1/2]

template<typename T >
void std::internal::copy_construct ( T *  mem,
const T &  orig,
int_to_type< false >   
)
inline
158  {
159  new (mem) T(orig);
160  }

◆ copy_construct() [2/2]

template<typename T >
void std::internal::copy_construct ( T *  mem,
const T &  orig,
int_to_type< true >   
)
inline
162  {
163  mem[0] = orig;
164  }

◆ copy_construct_n() [1/2]

template<typename T >
void std::internal::copy_construct_n ( const T *  first,
size_t  n,
T *  result,
int_to_type< false >   
)
117  {
118  for (size_t i = 0; i < n; ++i)
119  new (result + i) T(first[i]);
120  }

◆ copy_construct_n() [2/2]

template<typename T >
void std::internal::copy_construct_n ( const T *  first,
size_t  n,
T *  result,
int_to_type< true >   
)
122  {
123  assert(result >= first + n || result < first);
124  Sys::MemCpy(result, first, n * sizeof(T));
125  }

◆ copy_n() [1/2]

template<typename T >
void std::internal::copy_n ( const T *  first,
size_t  n,
T *  result,
int_to_type< false >   
)
60  {
61  const T* last = first + n;
62  switch (n & 0x3)
63  {
64  case 0:
65  while (first != last)
66  {
67  *result++ = *first++;
68  case 3: *result++ = *first++;
69  case 2: *result++ = *first++;
70  case 1: *result++ = *first++;
71  }
72  }
73  }

◆ copy_n() [2/2]

template<typename T >
void std::internal::copy_n ( const T *  first,
size_t  n,
T *  result,
int_to_type< true >   
)
75  {
76  assert(result >= first + n || result < first);
77  Sys::MemCpy(result, first, n * sizeof(T));
78  }

◆ debug_pred()

template<typename T1 , typename T2 , class TPred >
bool std::internal::debug_pred ( const TPred &  pred,
const T1 &  a,
const T2 &  b 
)
inline
184  {
185  return pred(a, b);
186  }

◆ destruct() [1/2]

template<typename T >
void std::internal::destruct ( T *  mem,
int_to_type< false >   
)
139  {
140  sizeof(mem);
141  mem->~T();
142  }

◆ destruct() [2/2]

template<typename T >
void std::internal::destruct ( T *  ,
int_to_type< true >   
)
inline
144  {
145  // Nothing to do, no destructor needed.
146  }

◆ destruct_n() [1/2]

template<typename T >
void std::internal::destruct_n ( T *  first,
size_t  n,
int_to_type< false >   
)
128  {
129  sizeof(first);
130  for (size_t i = 0; i < n; ++i)
131  (first + i)->~T();
132  }

◆ destruct_n() [2/2]

template<typename T >
void std::internal::destruct_n ( T *  ,
size_t  ,
int_to_type< true >   
)
inline
134  {
135  // Nothing to do, no destructor needed.
136  }

◆ distance() [1/2]

template<typename TIter , typename TDist >
void std::internal::distance ( TIter  first,
TIter  last,
TDist &  dist,
std::random_access_iterator_tag   
)
inline
65  {
66  dist = TDist(last - first);
67  }

◆ distance() [2/2]

template<typename TIter , typename TDist >
void std::internal::distance ( TIter  first,
TIter  last,
TDist &  dist,
std::input_iterator_tag   
)
inline
70  {
71  dist = 0;
72  while (first != last)
73  {
74  ++dist;
75  ++first;
76  }
77  }

◆ down_heap()

template<typename T , class TPredicate >
void std::internal::down_heap ( T *  data,
size_t  k,
size_t  n,
TPredicate  pred 
)
82  {
83  const T temp = data[k - 1];
84  while (k <= n / 2)
85  {
86  size_t child = 2 * k;
87  if (child < n && pred(data[child - 1], data[child]))
88  ++child;
89  if (pred(temp, data[child - 1]))
90  {
91  data[k - 1] = data[child - 1];
92  k = child;
93  }
94  else
95  break;
96  }
97  data[k - 1] = temp;
98  }

◆ mod()

template<typename Tp , Tp m, Tp a = 1, Tp c = 0>
Tp std::internal::mod ( Tp  x)
inline
48 { return mod<Tp, m, a, c>::calc(x); }

◆ move() [1/2]

template<typename T >
void std::internal::move ( const T *  first,
const T *  last,
T *  result,
int_to_type< false >   
)
inline
103  {
104  result += (last - first);
105  while (--last >= first)
106  *(--result) = *last;
107  }

◆ move() [2/2]

template<typename T >
void std::internal::move ( const T *  first,
const T *  last,
T *  result,
int_to_type< true >   
)
inline
109  {
110 
111  const size_t n = reinterpret_cast<uintptr_t>(last) - reinterpret_cast<uintptr_t>(first);
112  Sys::MemMove(result, first, n);
113  }

◆ move_n() [1/2]

template<typename T >
void std::internal::move_n ( const T *  from,
size_t  n,
T *  result,
int_to_type< false >   
)
inline
93  {
94  for (int i = int(n) - 1; i >= 0; --i)
95  result[i] = from[i];
96  }

◆ move_n() [2/2]

template<typename T >
void std::internal::move_n ( const T *  first,
size_t  n,
T *  result,
int_to_type< true >   
)
inline
98  {
99  Sys::MemMove(result, first, n * sizeof(T));
100  }

◆ quick_sort()

template<typename T , class TPredicate >
void std::internal::quick_sort ( T *  data,
long  low,
long  high,
TPredicate  pred 
)
42  {
43  while (true)
44  {
45  long i = low;
46  long j = high;
47  const T pivot = data[(low + high) >> 1];
48  do
49  {
50  // Jump over elements that are OK (smaller than pivot)
51  while (pred(data[i], pivot))
52  ++i;
53  // Jump over elements that are OK (greater than pivot)
54  while (pred(pivot, data[j]))
55  --j;
56  // Anything to swap?
57  if (j >= i)
58  {
59  if (i != j)
60  {
61  // Swap
62  T tmp(data[i]);
63  data[i] = data[j];
64  data[j] = tmp;
65  }
66  ++i;
67  --j;
68  }
69  } while (i <= j);
70 
71  if (low < j)
72  quick_sort(data, low, j, pred);
73 
74  if (i < high)
75  low = i;
76  else
77  break;
78  }
79  }
void quick_sort(T *begin, T *end)
Definition: sort.hpp:126

◆ test_ordering()

template<class TIter , class TPred >
void std::internal::test_ordering ( TIter  first,
TIter  last,
const TPred &  pred 
)
179  {
180  sizeof(first); sizeof(last); sizeof(pred);
181  }