50 namespace AbstractLinAlgPack {
58 ,
const size_t num_vecs,
const Vector* vecs[]
60 ,RTOpPack::ReductTarget *reduct_obj
66 ,
"VectorApplyOpSerialBase::apply_op_serial(...): Error, this function has been entered "
67 "recursively which most likely means that the explicit sub-vector access methods Vector::get_sub_vector(...), "
68 "Vector::free_sub_vector(...), VectorMutable::get_sub_vector(...), VectorMutable::commit_sub_vector(...) "
69 "have not been overridden correctly on this concrete class \'" <<
typeName(*
this) <<
"\' to not call "
70 "apply_op(...) in there implemenations."
74 op,num_vecs,vecs,num_targ_vecs,targ_vecs,reduct_obj
75 ,first_ele,sub_dim,global_offset
std::string typeName(const T &t)
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
RTOp_index_type index_type
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
void apply_op_serial(const RTOpPack::RTOp &op, const size_t num_vecs, const Vector *vecs[], const size_t num_targ_vecs, VectorMutable *targ_vecs[], RTOpPack::ReductTarget *reduct_obj, const index_type first_ele, const index_type sub_dim, const index_type global_offset)
Implements reduction/transformation operators for any serial vectors using just the public vector int...
VectorApplyOpSerialBase()
RTOpT< RTOp_value_type > RTOp
Abstract interface for mutable coordinate vectors {abstract}.
void apply_op_serial(const RTOpPack::RTOp &op, const size_t num_vecs, const Vector *vecs[], const size_t num_targ_vecs, VectorMutable *targ_vecs[], RTOpPack::ReductTarget *reduct_obj, const index_type first_ele, const index_type sub_dim, const index_type global_offset) const