STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Macros | Functions
numeric File Reference
#include <xutility>

Macros

#define _NUMERIC_
 

Functions

template<class _InIt , class _Ty , class _Fn2 >
_STD_BEGIN _Ty _Accumulate_unchecked (_InIt _First, _InIt _Last, _Ty _Val, _Fn2 &_Func)
 
template<class _InIt , class _Ty , class _Fn2 >
_Ty accumulate (_InIt _First, _InIt _Last, _Ty _Val, _Fn2 _Func)
 
template<class _InIt , class _Ty >
_Ty accumulate (_InIt _First, _InIt _Last, _Ty _Val)
 
template<class _InIt1 , class _InIt2 , class _Ty , class _Fn21 , class _Fn22 >
_Ty _Inner_product_unchecked (_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val, _Fn21 &_Func1, _Fn22 &_Func2)
 
template<class _InIt1 , class _InIt2 , class _Ty , class _Fn21 , class _Fn22 >
_Ty _Inner_product_no_deprecate (_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val, _Fn21 &_Func1, _Fn22 &_Func2)
 
template<class _InIt1 , class _InIt2 , class _Ty , class _Fn21 , class _Fn22 >
_Ty inner_product (_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val, _Fn21 _Func1, _Fn22 _Func2)
 
template<class _InIt1 , class _InIt2 , class _Ty >
_Ty inner_product (_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val)
 
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Partial_sum_unchecked (_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
 
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Partial_sum_no_deprecate (_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
 
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt partial_sum (_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 _Func)
 
template<class _InIt , class _OutIt >
_OutIt partial_sum (_InIt _First, _InIt _Last, _OutIt _Dest)
 
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Adjacent_difference_unchecked (_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
 
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Adjacent_difference_no_deprecate (_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
 
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt adjacent_difference (_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 _Func)
 
template<class _InIt , class _OutIt >
_OutIt adjacent_difference (_InIt _First, _InIt _Last, _OutIt _Dest)
 
template<class _FwdIt , class _Ty >
void _Iota_unchecked (_FwdIt _First, _FwdIt _Last, _Ty _Val)
 
template<class _FwdIt , class _Ty >
void iota (_FwdIt _First, _FwdIt _Last, _Ty _Val)
 

Macro Definition Documentation

#define _NUMERIC_

Function Documentation

template<class _InIt , class _Ty , class _Fn2 >
_STD_BEGIN _Ty _Accumulate_unchecked ( _InIt  _First,
_InIt  _Last,
_Ty  _Val,
_Fn2 &  _Func 
)
inline
19  { // return sum of _Val and all in [_First, _Last), using _Func
20  for (; _First != _Last; ++_First)
21  _Val = _Func(_Val, *_First);
22  return (_Val);
23  }
_FwdIt const _Ty _Val
Definition: algorithm:1938
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Adjacent_difference_no_deprecate ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest,
_Fn2 &  _Func 
)
inline
230  { // compute adjacent differences into _Dest, using _Func, no deprecation warnings
231  _DEBUG_RANGE(_First, _Last);
232  const auto _UFirst = _Unchecked(_First);
233  const auto _ULast = _Unchecked(_Last);
234  const auto _UDest = _Unchecked_n(_Dest, _Idl_distance(_UFirst, _ULast));
235  return (_Rechecked(_Dest,
236  _Adjacent_difference_unchecked(_UFirst, _ULast, _UDest, _Func)));
237  }
_OutIt _Adjacent_difference_unchecked(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
Definition: numeric:207
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:527
unsigned _Dest
Definition: mbstring.h:107
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
auto _Unchecked_n(_Iter _Src, _Diff)
Definition: xutility:710
_Distance_unknown _Idl_distance(const _Iter &, const _Iter &)
Definition: xutility:681
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Adjacent_difference_unchecked ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest,
_Fn2 &  _Func 
)
inline
209  { // compute adjacent differences into _Dest, using _Func
210  if (_First != _Last)
211  {
212  _Iter_value_t<_InIt> _Val = *_First;
213  for (*_Dest = _Val; ++_First != _Last; )
214  { // compute another difference
215  _Iter_value_t<_InIt> _Tmp = *_First;
216  *++_Dest = _Func(_Tmp, _Val);
217  _Val = _STD move(_Tmp);
218  }
219  ++_Dest;
220  }
221 
222  return (_Dest);
223  }
unsigned _Dest
Definition: mbstring.h:107
typename iterator_traits< _Iter >::value_type _Iter_value_t
Definition: xutility:649
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
_FwdIt const _Ty _Val
Definition: algorithm:1938
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt1 , class _InIt2 , class _Ty , class _Fn21 , class _Fn22 >
_Ty _Inner_product_no_deprecate ( _InIt1  _First1,
_InIt1  _Last1,
_InIt2  _First2,
_Ty  _Val,
_Fn21 &  _Func1,
_Fn22 &  _Func2 
)
inline
65  { // return inner product of sequences, using _Func1 and _Func2, no deprecation warnings
66  _DEBUG_RANGE(_First1, _Last1);
67  const auto _UFirst1 = _Unchecked(_First1);
68  const auto _ULast1 = _Unchecked(_Last1);
69  const auto _UFirst2 = _Unchecked_n(_First2, _Idl_distance(_UFirst1, _ULast1));
70  return (_Inner_product_unchecked(_UFirst1, _ULast1, _UFirst2, _Val, _Func1, _Func2));
71  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
auto _Unchecked_n(_Iter _Src, _Diff)
Definition: xutility:710
_Ty _Inner_product_unchecked(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val, _Fn21 &_Func1, _Fn22 &_Func2)
Definition: numeric:48
_Distance_unknown _Idl_distance(const _Iter &, const _Iter &)
Definition: xutility:681
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _InIt1 , class _InIt2 , class _Ty , class _Fn21 , class _Fn22 >
_Ty _Inner_product_unchecked ( _InIt1  _First1,
_InIt1  _Last1,
_InIt2  _First2,
_Ty  _Val,
_Fn21 &  _Func1,
_Fn22 &  _Func2 
)
inline
51  { // return inner product of sequences, using _Func1 and _Func2
52  for (; _First1 != _Last1; ++_First1, (void)++_First2)
53  _Val = _Func1(_Val, _Func2(*_First1, *_First2));
54  return (_Val);
55  }
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *terminate_handler)()
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _FwdIt , class _Ty >
void _Iota_unchecked ( _FwdIt  _First,
_FwdIt  _Last,
_Ty  _Val 
)
inline
288  { // compute increasing sequence into [_First, _Last)
289  for (; _First != _Last; ++_First, (void)++_Val)
290  *_First = _Val;
291  }
_CRT_BEGIN_C_HEADER typedef void(__CRTDECL *terminate_handler)()
_FwdIt const _Ty _Val
Definition: algorithm:1938
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Partial_sum_no_deprecate ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest,
_Fn2 &  _Func 
)
inline
150  { // compute partial sums into _Dest, using _Func, no deprecation warnings
151  _DEBUG_RANGE(_First, _Last);
152  const auto _UFirst = _Unchecked(_First);
153  const auto _ULast = _Unchecked(_Last);
154  const auto _UDest = _Unchecked_n(_Dest, _Idl_distance(_UFirst, _ULast));
155  return (_Rechecked(_Dest,
156  _Partial_sum_unchecked(_UFirst, _ULast, _UDest, _Func)));
157  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
_Deque_const_iterator< _Mydeque > & _Rechecked(_Deque_const_iterator< _Mydeque > &_Iter, typename _Deque_const_iterator< _Mydeque >::_Unchecked_type _Right)
Definition: deque:527
unsigned _Dest
Definition: mbstring.h:107
_OutIt _Partial_sum_unchecked(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
Definition: numeric:131
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
auto _Unchecked_n(_Iter _Src, _Diff)
Definition: xutility:710
_Distance_unknown _Idl_distance(const _Iter &, const _Iter &)
Definition: xutility:681
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt _Partial_sum_unchecked ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest,
_Fn2 &  _Func 
)
inline
133  { // compute partial sums into _Dest, using _Func
134  if (_First != _Last)
135  {
136  _Iter_value_t<_InIt> _Val = *_First;
137  for (*_Dest = _Val; ++_First != _Last; *++_Dest = _Val)
138  _Val = _Func(_Val, *_First);
139  ++_Dest;
140  }
141 
142  return (_Dest);
143  }
unsigned _Dest
Definition: mbstring.h:107
typename iterator_traits< _Iter >::value_type _Iter_value_t
Definition: xutility:649
_FwdIt const _Ty _Val
Definition: algorithm:1938
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _Ty , class _Fn2 >
_Ty accumulate ( _InIt  _First,
_InIt  _Last,
_Ty  _Val,
_Fn2  _Func 
)
inline
29  { // return sum of _Val and all in [_First, _Last), using _Func
30  _DEBUG_RANGE(_First, _Last);
31  return (_Accumulate_unchecked(_Unchecked(_First), _Unchecked(_Last), _Val, _Func));
32  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
_STD_BEGIN _Ty _Accumulate_unchecked(_InIt _First, _InIt _Last, _Ty _Val, _Fn2 &_Func)
Definition: numeric:18
_FwdIt const _Ty _Val
Definition: algorithm:1938
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _Ty >
_Ty accumulate ( _InIt  _First,
_InIt  _Last,
_Ty  _Val 
)
inline
38  { // return sum of _Val and all in [_First, _Last)
39  return (_STD accumulate(_First, _Last, _Val, plus<>()));
40  }
_Ty accumulate(_InIt _First, _InIt _Last, _Ty _Val, _Fn2 _Func)
Definition: numeric:28
Definition: xstddef:170
_FwdIt const _Ty _Val
Definition: algorithm:1938
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt adjacent_difference ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest,
_Fn2  _Func 
)
inline
244  { // compute adjacent differences into _Dest, using _Func
246  return (_Adjacent_difference_no_deprecate(_First, _Last, _Dest, _Func));
247  }
#define _DEPRECATE_UNCHECKED(_Func, _Iter)
Definition: xutility:501
unsigned _Dest
Definition: mbstring.h:107
_OutIt adjacent_difference(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 _Func)
Definition: numeric:242
_OutIt _Adjacent_difference_no_deprecate(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
Definition: numeric:228
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt >
_OutIt adjacent_difference ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest 
)
inline
268  { // compute adjacent differences into _Dest
269  return (_STD adjacent_difference(_First, _Last, _Dest,
270  minus<>()));
271  }
Definition: xstddef:184
unsigned _Dest
Definition: mbstring.h:107
_OutIt adjacent_difference(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 _Func)
Definition: numeric:242
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt1 , class _InIt2 , class _Ty , class _Fn21 , class _Fn22 >
_Ty inner_product ( _InIt1  _First1,
_InIt1  _Last1,
_InIt2  _First2,
_Ty  _Val,
_Fn21  _Func1,
_Fn22  _Func2 
)
inline
81  { // return inner product of sequences, using _Func1 and _Func2
83  return (_Inner_product_no_deprecate(_First1, _Last1, _First2, _Val, _Func1, _Func2));
84  }
#define _DEPRECATE_UNCHECKED(_Func, _Iter)
Definition: xutility:501
_Ty _Inner_product_no_deprecate(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val, _Fn21 &_Func1, _Fn22 &_Func2)
Definition: numeric:62
_Ty inner_product(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val, _Fn21 _Func1, _Fn22 _Func2)
Definition: numeric:78
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _InIt1 , class _InIt2 , class _Ty >
_Ty inner_product ( _InIt1  _First1,
_InIt1  _Last1,
_InIt2  _First2,
_Ty  _Val 
)
inline
109  { // return inner product of sequences
110  return (_STD inner_product(_First1, _Last1, _First2, _Val,
111  plus<>(), multiplies<>()));
112  }
Definition: xstddef:170
_Ty inner_product(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _Ty _Val, _Fn21 _Func1, _Fn22 _Func2)
Definition: numeric:78
Definition: xstddef:198
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _FwdIt , class _Ty >
void iota ( _FwdIt  _First,
_FwdIt  _Last,
_Ty  _Val 
)
inline
296  { // compute increasing sequence into [_First, _Last)
297  _DEBUG_RANGE(_First, _Last);
299  }
#define _DEBUG_RANGE(first, last)
Definition: xutility:902
_Iter_t _Unchecked(_Iter_t _Iter)
Definition: iterator:11
void _Iota_unchecked(_FwdIt _First, _FwdIt _Last, _Ty _Val)
Definition: numeric:287
_FwdIt const _Ty _Val
Definition: algorithm:1938
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt , class _Fn2 >
_OutIt partial_sum ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest,
_Fn2  _Func 
)
inline
164  { // compute partial sums into _Dest, using _Func
166  return (_Partial_sum_no_deprecate(_First, _Last, _Dest, _Func));
167  }
#define _DEPRECATE_UNCHECKED(_Func, _Iter)
Definition: xutility:501
unsigned _Dest
Definition: mbstring.h:107
_OutIt partial_sum(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 _Func)
Definition: numeric:162
_OutIt _Partial_sum_no_deprecate(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 &_Func)
Definition: numeric:148
_FwdIt _Last
Definition: algorithm:1936
template<class _InIt , class _OutIt >
_OutIt partial_sum ( _InIt  _First,
_InIt  _Last,
_OutIt  _Dest 
)
inline
188  { // compute partial sums into _Dest
189  return (_STD partial_sum(_First, _Last, _Dest, plus<>()));
190  }
unsigned _Dest
Definition: mbstring.h:107
Definition: xstddef:170
_OutIt partial_sum(_InIt _First, _InIt _Last, _OutIt _Dest, _Fn2 _Func)
Definition: numeric:162
_FwdIt _Last
Definition: algorithm:1936