Lines Matching refs:_Tp

78 template<typename _Tp>
79 struct _UnFunClos<_ValArray,_Tp> : _UnFunBase<valarray<_Tp> > {
80 typedef _UnFunBase<valarray<_Tp> > _Base;
83 _UnFunClos (const valarray<_Tp>& __v, _Tp __f(_Tp))
153 typedef value_type _Tp;
156 _Tp __f(_Tp, _Tp))
160 template<typename _Tp>
161 struct _BinFunClos<_ValArray,_ValArray,_Tp,_Tp>
162 : _BinFunBase<valarray<_Tp>, valarray<_Tp> > {
163 typedef _BinFunBase<valarray<_Tp>, valarray<_Tp> > _Base;
164 typedef _Tp value_type;
166 _BinFunClos (const valarray<_Tp>& __v, const valarray<_Tp>& __w,
167 _Tp __f(_Tp, _Tp))
174 typedef typename _Dom::value_type _Tp;
175 typedef _BinFunBase<_Dom,valarray<_Tp> > _Base;
176 typedef _Tp value_type;
178 _BinFunClos (const _Dom& __e, const valarray<_Tp>& __v,
179 _Tp __f(_Tp, _Tp))
186 typedef typename _Dom::value_type _Tp;
187 typedef _BinFunBase<_Dom,valarray<_Tp> > _Base;
188 typedef _Tp value_type;
190 _BinFunClos (const valarray<_Tp>& __v, const _Dom& __e,
191 _Tp __f(_Tp, _Tp))
198 typedef typename _Dom::value_type _Tp;
199 typedef _Tp value_type;
202 _BinFunClos (const _Dom& __e, const _Tp& __t, _Tp __f (_Tp, _Tp))
209 typedef typename _Dom::value_type _Tp;
210 typedef _Tp value_type;
213 _BinFunClos (const _Tp& __t, const _Dom& __e, _Tp __f (_Tp, _Tp))
217 template<typename _Tp>
218 struct _BinFunClos<_ValArray,_Constant,_Tp,_Tp>
219 : _BinFunBase2<valarray<_Tp> > {
220 typedef _BinFunBase2<valarray<_Tp> > _Base;
221 typedef _Tp value_type;
223 _BinFunClos (const valarray<_Tp>& __v, const _Tp& __t,
224 _Tp __f(_Tp, _Tp))
228 template<typename _Tp>
229 struct _BinFunClos<_Constant,_ValArray,_Tp,_Tp>
230 : _BinFunBase1<valarray<_Tp> > {
231 typedef _BinFunBase1<valarray<_Tp> > _Base;
232 typedef _Tp value_type;
234 _BinFunClos (const _Tp& __t, const valarray<_Tp>& __v,
235 _Tp __f (_Tp, _Tp))
264 typedef value_type _Tp;
266 _ValFunClos (const _Dom& __e, _Tp __f (_Tp)) : _Base (__e, __f) {}
269 template<typename _Tp>
270 struct _ValFunClos<_ValArray,_Tp>
271 : _FunBase<valarray<_Tp>, _Tp> {
272 typedef _FunBase<valarray<_Tp>, _Tp> _Base;
273 typedef _Tp value_type;
275 _ValFunClos (const valarray<_Tp>& __v, _Tp __f(_Tp))
284 typedef value_type _Tp;
286 _RefFunClos (const _Dom& __e, _Tp __f (const _Tp&))
290 template<typename _Tp>
291 struct _RefFunClos<_ValArray,_Tp>
292 : _FunBase<valarray<_Tp>, const _Tp&> {
293 typedef _FunBase<valarray<_Tp>, const _Tp&> _Base;
294 typedef _Tp value_type;
296 _RefFunClos (const valarray<_Tp>& __v, _Tp __f(const _Tp&))
332 template<template<class> class _Oper, typename _Tp>
333 struct _UnClos<_Oper, _ValArray, _Tp> : _UnBase<_Oper, valarray<_Tp> > {
334 typedef valarray<_Tp> _Arg;
335 typedef _UnBase<_Oper, valarray<_Tp> > _Base;
424 template<template<class> class _Oper, typename _Tp>
425 struct _BinClos<_Oper,_ValArray,_ValArray,_Tp,_Tp>
426 : _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > {
427 typedef _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > _Base;
428 typedef _Tp value_type;
430 _BinClos (const valarray<_Tp>& __v, const valarray<_Tp>& __w)
437 typedef typename _Dom::value_type _Tp;
438 typedef _BinBase<_Oper,_Dom,valarray<_Tp> > _Base;
441 _BinClos(const _Dom& __e1, const valarray<_Tp>& __e2)
448 typedef typename _Dom::value_type _Tp;
449 typedef _BinBase<_Oper,valarray<_Tp>,_Dom> _Base;
452 _BinClos (const valarray<_Tp>& __e1, const _Dom& __e2)
459 typedef typename _Dom::value_type _Tp;
463 _BinClos (const _Dom& __e1, const _Tp& __e2) : _Base (__e1, __e2) {}
469 typedef typename _Dom::value_type _Tp;
473 _BinClos (const _Tp& __e1, const _Dom& __e2) : _Base (__e1, __e2) {}
476 template<template<class> class _Oper, typename _Tp>
477 struct _BinClos<_Oper,_ValArray,_Constant,_Tp,_Tp>
478 : _BinBase2<_Oper,valarray<_Tp> > {
479 typedef _BinBase2<_Oper,valarray<_Tp> > _Base;
482 _BinClos (const valarray<_Tp>& __v, const _Tp& __t)
486 template<template<class> class _Oper, typename _Tp>
487 struct _BinClos<_Oper,_Constant,_ValArray,_Tp,_Tp>
488 : _BinBase1<_Oper,valarray<_Tp> > {
489 typedef _BinBase1<_Oper,valarray<_Tp> > _Base;
492 _BinClos (const _Tp& __t, const valarray<_Tp>& __v)
515 template<typename _Tp> class _SBase<_Array<_Tp> > {
517 typedef _Tp value_type;
519 _SBase (_Array<_Tp> __a, const slice& __s)
527 const _Array<_Tp> _M_array;
539 template<typename _Tp>
540 struct _SClos<_ValArray,_Tp> : _SBase<_Array<_Tp> > {
541 typedef _SBase<_Array<_Tp> > _Base;
542 typedef _Tp value_type;
544 _SClos (_Array<_Tp> __a, const slice& __s) : _Base (__a, __s) {}
565 template<typename _Tp> class _GBase<_Array<_Tp> > {
567 typedef _Tp value_type;
569 _GBase (_Array<_Tp> __a, const valarray<size_t>& __i)
576 const _Array<_Tp> _M_array;
588 template<typename _Tp>
589 struct _GClos<_ValArray,_Tp> : _GBase<_Array<_Tp> > {
590 typedef _GBase<_Array<_Tp> > _Base;
593 _GClos (_Array<_Tp> __a, const valarray<size_t>& __i)
624 template<typename _Tp>
625 struct _IClos<_ValArray,_Tp> : _IBase<valarray<_Tp> > {
626 typedef _IBase<valarray<_Tp> > _Base;
627 typedef _Tp value_type;
629 _IClos (const valarray<_Tp>& __a, const valarray<size_t>& __i)
636 template<class _Clos, typename _Tp> class _Expr {
638 typedef _Tp value_type;
676 template<class _Clos, typename _Tp>
678 _Expr<_Clos,_Tp>::_Expr (const _Clos& __c) : _M_closure(__c) {}
680 template<class _Clos, typename _Tp>
682 _Expr<_Clos,_Tp>::operator() () const
685 template<class _Clos, typename _Tp>
686 inline _Tp
687 _Expr<_Clos,_Tp>::operator[] (size_t __i) const
690 template<class _Clos, typename _Tp>
691 inline valarray<_Tp>
692 _Expr<_Clos,_Tp>::operator[] (slice __s) const
695 template<class _Clos, typename _Tp>
696 inline valarray<_Tp>
697 _Expr<_Clos,_Tp>::operator[] (const gslice& __gs) const
700 template<class _Clos, typename _Tp>
701 inline valarray<_Tp>
702 _Expr<_Clos,_Tp>::operator[] (const valarray<bool>& __m) const
705 template<class _Clos, typename _Tp>
706 inline valarray<_Tp>
707 _Expr<_Clos,_Tp>::operator[] (const valarray<size_t>& __i) const
710 template<class _Clos, typename _Tp>
712 _Expr<_Clos,_Tp>::size () const { return _M_closure.size (); }
715 template<class _Clos, typename _Tp>
716 inline _Tp
717 _Expr<_Clos,_Tp>::sum () const
719 _Tp __s(_Tp());
725 template<class _Dom, typename _Tp>
726 inline _Tp
727 min (const _Expr<_Dom,_Tp>& __e)
730 _Tp __m (__e[0]);
736 template<class _Dom, typename _Tp>
737 inline _Tp
738 max (const _Expr<_Dom,_Tp>& __e)
741 _Tp __m (__e[0]);
747 template<class _Dom, typename _Tp>
749 _Expr<_Dom,_Tp>::operator! () const
752 return _Expr<_Closure,_Tp> (_Closure(this->_M_closure));
756 template<class _Dom, typename _Tp> \
757 inline _Expr<_UnClos<_Name,_Expr,_Dom>,_Tp> \
758 _Expr<_Dom,_Tp>::operator##_Op () const \
761 return _Expr<_Closure,_Tp> (_Closure (this->_M_closure)); \
826 typedef typename _Dom::value_type _Tp; \
827 typedef typename _Name<_Tp>::result_type _Value; \
828 typedef _BinClos<_Name,_ValArray,_Expr,_Tp,_Dom> _Closure; \
884 typedef typename _Dom::value_type _Tp; \
885 typedef _BinClos<_Name,_Expr,_ValArray,_Dom,_Tp> _Closure; \
895 typedef typename _Dom::value_type _Tp; \
896 typedef _BinClos<_Name,_ValArray,_Expr,_Tp,_Dom> _Closure; \
918 typedef typename _Dom::value_type _Tp; \
920 return _Expr<_Closure,_Tp>(_Closure(__e(), (_Tp(*)(_Tp))(&_Name))); \
923 template<typename _Tp> \
924 inline _Expr<_UnFunClos<_ValArray,_Tp>,_Tp> \
925 _Name(const valarray<_Tp>& __v) \
927 typedef _UnFunClos<_ValArray,_Tp> _Closure; \
928 return _Expr<_Closure,_Tp> (_Closure (__v, (_Tp(*)(_Tp))(&_Name))); \
956 typedef typename _Dom1::value_type _Tp; \
958 return _Expr<_Closure,_Tp> \
959 (_Closure (__e1 (), __e2 (), (_Tp(*)(_Tp, _Tp))(&_Name))); \
968 typedef typename _Dom::value_type _Tp; \
969 typedef _BinFunClos<_Expr,_ValArray,_Dom,_Tp> _Closure; \
970 return _Expr<_Closure,_Tp> \
971 (_Closure (__e (), __v, (_Tp(*)(_Tp, _Tp))(&_Name))); \
980 typedef typename _Dom::value_type _Tp; \
981 typedef _BinFunClos<_ValArray,_Expr,_Tp,_Dom> _Closure; \
982 return _Expr<_Closure,_Tp> \
983 (_Closure (__v, __e (), (_Tp(*)(_Tp, _Tp))(&_Name))); \
992 typedef typename _Dom::value_type _Tp; \
993 typedef _BinFunClos<_Expr,_Constant,_Dom,_Tp> _Closure; \
994 return _Expr<_Closure,_Tp> \
995 (_Closure (__e (), __t, (_Tp(*)(_Tp, _Tp))(&_Name))); \
1004 typedef typename _Dom::value_type _Tp; \
1005 typedef _BinFunClos<_Constant,_Expr,_Tp,_Dom> _Closure; \
1006 return _Expr<_Closure,_Tp> \
1007 (_Closure (__t, __e (), (_Tp(*)(_Tp, _Tp))(&_Name))); \
1010 template<typename _Tp> \
1011 inline _Expr<_BinFunClos<_ValArray,_ValArray,_Tp,_Tp>, _Tp> \
1012 _Name (const valarray<_Tp>& __v, const valarray<_Tp>& __w) \
1014 typedef _BinFunClos<_ValArray,_ValArray,_Tp,_Tp> _Closure; \
1015 return _Expr<_Closure,_Tp> \
1016 (_Closure (__v, __w, (_Tp(*)(_Tp,_Tp))(&_Name))); \
1019 template<typename _Tp> \
1020 inline _Expr<_BinFunClos<_ValArray,_Constant,_Tp,_Tp>,_Tp> \
1021 _Name (const valarray<_Tp>& __v, const _Tp& __t) \
1023 typedef _BinFunClos<_ValArray,_Constant,_Tp,_Tp> _Closure; \
1024 return _Expr<_Closure,_Tp> \
1025 (_Closure (__v, __t, (_Tp(*)(_Tp,_Tp))(&_Name))); \
1028 template<typename _Tp> \
1029 inline _Expr<_BinFunClos<_Constant,_ValArray,_Tp,_Tp>,_Tp> \
1030 _Name (const _Tp& __t, const valarray<_Tp>& __v) \
1032 typedef _BinFunClos<_Constant,_ValArray,_Tp,_Tp> _Closure; \
1033 return _Expr<_Closure,_Tp> \
1034 (_Closure (__t, __v, (_Tp(*)(_Tp,_Tp))(&_Name))); \