|
FreePOOMA
2.4.1
|
The only legal use of where(a,b) is in an expression like: More...
#include <WhereProxy.h>
Classes | |
| struct | WhereProxyTraits |
| struct | WhereProxyTraits< Cond, Scalar< T >, F1, B1 > |
| struct | WhereProxyTraits< Scalar< T >, Val, F1, B1 > |
| struct | WhereProxyTraits< Scalar< T1 >, Scalar< T2 >, F1, B1 > |
Public Types | |
| typedef BinaryNode< WhereMask, typename CreateLeaf< F > ::Leaf_t, typename CreateLeaf < B >::Leaf_t > | Tree_t |
| typedef ExpressionTraits < Tree_t >::Type_t | ETrait_t |
| typedef ConvertWhereProxy < ETrait_t, Tree_t >::Make_t | MakeFromTree_t |
| typedef MakeFromTree_t::Expression_t | WhereMask_t |
| typedef WhereProxyTraits < typename CreateLeaf< F > ::Leaf_t, typename CreateLeaf < B >::Leaf_t, F, B > ::Element_t | Element_t |
Public Member Functions | |
| WhereProxy (const F &f, const B &b) | |
| WhereMask_t | whereMask () const |
| template<class Op > | |
| OpMask< Op > | opMask (const Op &op) const |
| const F & | flag () |
| const B & | value () |
Public Attributes | |
| const F & | f_m |
| const B & | b_m |
The only legal use of where(a,b) is in an expression like:
A = where(f,B);
Rather than have where(f,B) return an array that could be combined in an expression, we return a WhereProxy that is recognized by assignment operators.
The WhereProxy is also necessary because the elements returned by where are MaskAssign<T> objects, so a special assignment operator, OpMask<Op> must be used.
| typedef BinaryNode<WhereMask, typename CreateLeaf<F>::Leaf_t, typename CreateLeaf<B>::Leaf_t> WhereProxy< F, B >::Tree_t |
| typedef ExpressionTraits<Tree_t>::Type_t WhereProxy< F, B >::ETrait_t |
| typedef ConvertWhereProxy<ETrait_t,Tree_t>::Make_t WhereProxy< F, B >::MakeFromTree_t |
| typedef MakeFromTree_t::Expression_t WhereProxy< F, B >::WhereMask_t |
| typedef WhereProxyTraits<typename CreateLeaf<F>::Leaf_t, typename CreateLeaf<B>::Leaf_t, F, B>::Element_t WhereProxy< F, B >::Element_t |
| WhereProxy< F, B >::WhereProxy | ( | const F & | f, |
| const B & | b | ||
| ) | [inline] |
| WhereMask_t WhereProxy< F, B >::whereMask | ( | ) | const [inline] |
References WhereProxy< F, B >::b_m, and WhereProxy< F, B >::f_m.
Referenced by assign(), and Reduction< MainEvaluatorTag >::evaluate().
| OpMask<Op> WhereProxy< F, B >::opMask | ( | const Op & | op | ) | const [inline] |
Referenced by assign(), and Reduction< MainEvaluatorTag >::evaluate().
| const F& WhereProxy< F, B >::flag | ( | ) | [inline] |
References WhereProxy< F, B >::f_m.
| const B& WhereProxy< F, B >::value | ( | ) | [inline] |
References WhereProxy< F, B >::b_m.
| const F& WhereProxy< F, B >::f_m |
Referenced by WhereProxy< F, B >::flag(), and WhereProxy< F, B >::whereMask().
| const B& WhereProxy< F, B >::b_m |
Referenced by WhereProxy< F, B >::value(), and WhereProxy< F, B >::whereMask().
1.7.6.1