19#ifndef _STLP_VALARRAY_H
20#define _STLP_VALARRAY_H
22#ifndef _STLP_INTERNAL_CMATH
26#ifndef _STLP_INTERNAL_NEW
30#ifndef _STLP_INTERNAL_ALGO_H
34#ifndef _STLP_INTERNAL_NUMERIC_H
38#ifndef _STLP_INTERNAL_LIMITS
182 __tmp[
__i] = -(*
this)[
__i];
189 __tmp[
__i] = ~(*
this)[
__i];
246 (*
this)[
__i] <<= __x;
252 (*
this)[
__i] >>= __x;
316 (*this)[
__i] <<= __x[
__i];
323 (*
this)[
__i] >>= __x[
__i];
693#ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE
1078 slice() : _M_start(0), _M_length(0), _M_stride(0) {}
1079 slice(
size_t __start,
size_t __length,
size_t __stride)
1080 : _M_start(__start), _M_length(__length), _M_stride(__stride)
1085 size_t size()
const {
return _M_length; }
1101 size_t __index = _M_slice.start();
1102 for (
size_t __i = 0;
1103 __i < _M_slice.size();
1104 ++
__i, __index += _M_slice.stride())
1105 _M_array[__index] = __x[
__i];
1109 size_t __index = _M_slice.start();
1110 for (
size_t __i = 0;
1111 __i < _M_slice.size();
1112 ++
__i, __index += _M_slice.stride())
1113 _M_array[__index] *= __x[
__i];
1117 size_t __index = _M_slice.start();
1118 for (
size_t __i = 0;
1119 __i < _M_slice.size();
1120 ++
__i, __index += _M_slice.stride())
1121 _M_array[__index] /= __x[
__i];
1125 size_t __index = _M_slice.start();
1126 for (
size_t __i = 0;
1127 __i < _M_slice.size();
1128 ++
__i, __index += _M_slice.stride())
1129 _M_array[__index] %= __x[
__i];
1133 size_t __index = _M_slice.start();
1134 for (
size_t __i = 0;
1135 __i < _M_slice.size();
1136 ++
__i, __index += _M_slice.stride())
1137 _M_array[__index] += __x[
__i];
1141 size_t __index = _M_slice.start();
1142 for (
size_t __i = 0;
1143 __i < _M_slice.size();
1144 ++
__i, __index += _M_slice.stride())
1145 _M_array[__index] -= __x[
__i];
1149 size_t __index = _M_slice.start();
1150 for (
size_t __i = 0;
1151 __i < _M_slice.size();
1152 ++
__i, __index += _M_slice.stride())
1153 _M_array[__index] ^= __x[
__i];
1157 size_t __index = _M_slice.start();
1158 for (
size_t __i = 0;
1159 __i < _M_slice.size();
1160 ++
__i, __index += _M_slice.stride())
1161 _M_array[__index] &= __x[
__i];
1165 size_t __index = _M_slice.start();
1166 for (
size_t __i = 0;
1167 __i < _M_slice.size();
1168 ++
__i, __index += _M_slice.stride())
1169 _M_array[__index] |= __x[
__i];
1173 size_t __index = _M_slice.start();
1174 for (
size_t __i = 0;
1175 __i < _M_slice.size();
1176 ++
__i, __index += _M_slice.stride())
1177 _M_array[__index] <<= __x[
__i];
1181 size_t __index = _M_slice.start();
1182 for (
size_t __i = 0;
1183 __i < _M_slice.size();
1184 ++
__i, __index += _M_slice.stride())
1185 _M_array[__index] >>= __x[
__i];
1189 size_t __index = _M_slice.start();
1190 for (
size_t __i = 0;
1191 __i < _M_slice.size();
1192 ++
__i, __index += _M_slice.stride())
1193 _M_array[__index] =
__c;
1198 : _M_slice(__x._M_slice), _M_array(__x._M_array)
1205 : _M_slice(__slice), _M_array(__array)
1236template <
class _Size>
1282template <
class _Size>
1514 size_t __result = 0;
1675# if !defined (_STLP_LINK_TIME_INSTANTIATION)
_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last)
_ForwardIter min_element(_ForwardIter __first, _ForwardIter __last)
_STLP_MOVE_TO_STD_NAMESPACE void fill_n(_OutputIter __first, _Size __n, const _Tp &__val)
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
#define _STLP_ASSERT(expr)
void _STLP_CALL __stl_delete(void *__p)
_STLP_BEGIN_NAMESPACE void *_STLP_CALL __stl_new(size_t __n)
_STLP_BEGIN_NAMESPACE _STLP_INLINE_LOOP _Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp _Init)
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
_STLP_MOVE_TO_STD_NAMESPACE void uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp &__x)
valarray< _Tp > _STLP_CALL operator/(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > acos(const valarray< _Tp > &__x)
valarray< _Tp > cos(const valarray< _Tp > &__x)
valarray< _Tp > _STLP_CALL operator&(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
_Valarray_bool _STLP_CALL operator==(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > _STLP_CALL operator^(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
_Valarray_bool _STLP_CALL operator<(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > sin(const valarray< _Tp > &__x)
valarray< _Tp > atan(const valarray< _Tp > &__x)
_Valarray_bool _STLP_CALL operator>=(const valarray< _Tp > &__x, const _Tp &__c)
valarray< _Tp > pow(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > sqrt(const valarray< _Tp > &__x)
valarray< size_t > _Valarray_size_t
valarray< _Tp > asin(const valarray< _Tp > &__x)
_Valarray_bool _STLP_CALL operator>(const valarray< _Tp > &__x, const _Tp &__c)
valarray< _Tp > _STLP_CALL operator%(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< bool > _Valarray_bool
valarray< _Tp > _STLP_CALL operator*(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > sinh(const valarray< _Tp > &__x)
_Valarray_bool _STLP_CALL operator||(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
_Valarray_bool _STLP_CALL operator<=(const valarray< _Tp > &__x, const _Tp &__c)
_Gslice_Iter_tmpl< size_t > _Gslice_Iter
_Valarray_bool _STLP_CALL operator!=(const valarray< _Tp > &__x, const _Tp &__c)
valarray< _Tp > _STLP_CALL operator<<(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > log10(const valarray< _Tp > &__x)
valarray< _Tp > _STLP_CALL operator>>(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
_Valarray_bool _STLP_CALL operator&&(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > _STLP_CALL operator|(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
valarray< _Tp > tan(const valarray< _Tp > &__x)
valarray< _Tp > tanh(const valarray< _Tp > &__x)
valarray< _Tp > cosh(const valarray< _Tp > &__x)
valarray< _Tp > atan2(const valarray< _Tp > &__x, const valarray< _Tp > &__y)
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
void operator|=(const valarray< value_type > &__x) const
void operator&=(const valarray< value_type > &__x) const
valarray< value_type > & _M_array
void operator^=(const valarray< value_type > &__x) const
gslice_array(const gslice_array &__x)
void operator/=(const valarray< value_type > &__x) const
void operator*=(const valarray< value_type > &__x) const
void operator=(const gslice_array< _Tp > &)
gslice_array(const gslice &__gslice, valarray< _Tp > &__array)
void operator%=(const valarray< value_type > &__x) const
void operator-=(const valarray< value_type > &__x) const
void operator>>=(const valarray< value_type > &__x) const
void operator+=(const valarray< value_type > &__x) const
void operator=(const valarray< value_type > &__x) const
void operator<<=(const valarray< value_type > &__x) const
_Valarray_size_t _M_strides
gslice(size_t __start, const _Valarray_size_t &__lengths, const _Valarray_size_t &__strides)
_Valarray_size_t _M_lengths
_Valarray_size_t stride() const
_Valarray_size_t size() const
valarray< _Tp > & _M_array
void operator/=(const valarray< value_type > &__x) const
void operator^=(const valarray< value_type > &__x) const
indirect_array(const _Valarray_size_t &__addr, valarray< _Tp > &__array)
void operator*=(const valarray< value_type > &__x) const
indirect_array(const indirect_array &__x)
void operator<<=(const valarray< value_type > &__x) const
void operator|=(const valarray< value_type > &__x) const
void operator=(const valarray< value_type > &__x) const
void operator%=(const valarray< value_type > &__x) const
void operator+=(const valarray< value_type > &__x) const
void operator=(const indirect_array< _Tp > &)
void operator=(const value_type &__c) const
void operator&=(const valarray< value_type > &__x) const
void operator-=(const valarray< value_type > &__x) const
void operator>>=(const valarray< value_type > &__x) const
void operator%=(const valarray< value_type > &__x) const
void operator/=(const valarray< value_type > &__x) const
void operator+=(const valarray< value_type > &__x) const
mask_array(const _Valarray_bool &__mask, valarray< _Tp > &__array)
void operator^=(const valarray< value_type > &__x) const
void operator=(const valarray< value_type > &__x) const
void operator*=(const valarray< value_type > &__x) const
void operator>>=(const valarray< value_type > &__x) const
void operator&=(const valarray< value_type > &__x) const
void operator=(const mask_array< _Tp > &)
mask_array(const mask_array &__x)
void operator|=(const valarray< value_type > &__x) const
void operator-=(const valarray< value_type > &__x) const
void operator=(const value_type &__c) const
valarray< _Tp > & _M_array
void operator<<=(const valarray< value_type > &__x) const
size_t _M_num_true() const
void operator^=(const valarray< value_type > &__x) const
slice_array(const slice &__slice, valarray< _Tp > &__array)
void operator=(const value_type &__c)
void operator=(const valarray< value_type > &__x) const
void operator+=(const valarray< value_type > &__x) const
void operator>>=(const valarray< value_type > &__x) const
slice_array(const slice_array &__x)
void operator&=(const valarray< value_type > &__x) const
void operator<<=(const valarray< value_type > &__x) const
void operator/=(const valarray< value_type > &__x) const
void operator%=(const valarray< value_type > &__x) const
void operator*=(const valarray< value_type > &__x) const
void operator|=(const valarray< value_type > &__x) const
void operator-=(const valarray< value_type > &__x) const
valarray< _Tp > & _M_array
slice(size_t __start, size_t __length, size_t __stride)
valarray< _Tp > & operator=(const mask_array< _Tp > &)
valarray< _Tp > operator~() const
valarray(const mask_array< _Tp > &)
_Valarray_bool operator!() const
valarray< _Tp > & operator>>=(const value_type &__x)
value_type & operator[](size_t __n)
mask_array< _Tp > operator[](const _Valarray_bool &)
valarray< _Tp > operator+() const
valarray(const value_type *__p, size_t __n)
valarray< _Tp > & operator=(const value_type &__x)
valarray(const slice_array< _Tp > &)
valarray< _Tp > apply(value_type __f(value_type)) const
gslice_array< _Tp > operator[](const gslice &)
valarray< _Tp > & operator=(const valarray< _Tp > &__x)
indirect_array< _Tp > operator[](const _Valarray_size_t &)
valarray< _Tp > & operator+=(const value_type &__x)
valarray< _Tp > & operator^=(const value_type &__x)
valarray(const gslice_array< _Tp > &)
valarray(const valarray< _Tp > &__x)
valarray(const indirect_array< _Tp > &)
valarray< _Tp > & operator|=(const value_type &__x)
valarray< _Tp > & operator<<=(const value_type &__x)
valarray< _Tp > & operator%=(const value_type &__x)
valarray(size_t __n, _NoInit)
void _M_initialize(const __false_type &)
valarray< _Tp > cshift(int __n) const
void _M_initialize(const __true_type &)
void resize(size_t __n, value_type __x=value_type())
valarray< _Tp > & operator/=(const value_type &__x)
valarray< _Tp > operator-() const
value_type operator[](size_t __n) const
slice_array< _Tp > operator[](slice)
valarray< _Tp > apply(value_type __f(const value_type &)) const
valarray< _Tp > & operator-=(const value_type &__x)
valarray(const value_type &__x, size_t __n)
valarray< _Tp > & operator&=(const value_type &__x)
valarray< _Tp > & operator*=(const value_type &__x)
#define __STATIC_CAST(__x, __y)
#define __TRIVIAL_DESTRUCTOR(__type)
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
GLuint GLenum GLenum transform
_Check_return_ _Ret_maybenull_ _In_ size_t _In_ size_t _Size
valarray< _Size > _M_indices
_Gslice_Iter_tmpl(const gslice &__gslice)
_Valarray_base(size_t __n)
void _M_allocate(size_t __n)