43 #ifndef RTOPPACK_RTOP_NEW_T_HPP 
   44 #define RTOPPACK_RTOP_NEW_T_HPP 
   46 #include "RTOpPack_RTOpT_decl.hpp" 
   47 #include "Teuchos_Workspace.hpp" 
   48 #include "Teuchos_Assert.hpp" 
   58 template<
class Scalar>
 
   71 template<
class Scalar>
 
   79 template<
class Scalar>
 
   88 template<
class Scalar>
 
   96 template<
class Scalar>
 
  104   throwNoReductError();
 
  108 template<
class Scalar>
 
  116   throwNoReductError();
 
  120 template<
class Scalar>
 
  127 template<
class Scalar>
 
  134 template<
class Scalar>
 
  144 template<
class Scalar>
 
  147   setOpNameBase(op_name_base);
 
  151 template<
class Scalar>
 
  161 template<
class Scalar>
 
  165     "Error, no reduction is defined for concrete reduction op \'" 
  166     << this->description() << 
"\'!" );
 
  174 #endif // RTOPPACK_RTOP_NEW_T_HPP 
virtual Teuchos::RCP< ReductTarget > reduct_obj_create_impl() const 
virtual void reduct_obj_reinit_impl(const Ptr< ReductTarget > &reduct_obj) const 
virtual void reduce_reduct_objs_impl(const ReductTarget &in_reduct_obj, const Ptr< ReductTarget > &inout_reduct_obj) const 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
static std::string name()
virtual Range1D range_impl() const 
Templated interface to vector reduction/transformation operators {abstract}. 
virtual bool coord_invariant_impl() const 
virtual void extract_reduct_obj_state_impl(const ReductTarget &reduct_obj, const ArrayView< primitive_value_type > &value_data, const ArrayView< index_type > &index_data, const ArrayView< char_type > &char_data) const 
virtual void load_reduct_obj_state_impl(const ArrayView< const primitive_value_type > &value_data, const ArrayView< const index_type > &index_data, const ArrayView< const char_type > &char_data, const Ptr< ReductTarget > &reduct_obj) const 
virtual std::string op_name_impl() const 
Abstract base class for all reduction objects. 
void setOpNameBase(const std::string &op_name_base)
Just set the operator name. 
virtual void get_reduct_type_num_entries_impl(const Ptr< int > &num_values, const Ptr< int > &num_indexes, const Ptr< int > &num_chars) const 
RTOpT(const std::string &op_name_base="")
Constructor that creates an operator name appended with the type.