RTOp_RTOp_vtbl_t Struct Reference
[Implementation of Reduction/Transformation Operators.]

#include <RTOp.h>

List of all members.

Public Attributes

struct RTOp_obj_type_vtbl_tobj_data_vtbl
struct RTOp_obj_type_vtbl_treduct_vtbl
const char * op_name
int(* reduct_obj_reinit )(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, RTOp_ReductTarget reduct_obj)
int(* apply_op )(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, const int num_vecs, const struct RTOp_SubVector sub_vecs[], const int num_targ_vecs, const struct RTOp_MutableSubVector targ_sub_vecs[], RTOp_ReductTarget reduct_obj)
int(* reduce_reduct_objs )(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, RTOp_ReductTarget in_reduct_obj, RTOp_ReductTarget inout_reduct_obj)
int(* get_reduct_op )(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data, RTOp_reduct_op_func_ptr_t *reduct_op_func_ptr)

Detailed Description

Struct for the virtual function table for RTOp_RTOp.

This is the table that the user must fill up in order to implement the functions for a reduction operator class.

The virtual functions for dealing with the operator instance data and reduction object data are bundled as seperate virtual function tables themselves. This it to allow for as much reuse as possible since it is expected that the same data structures will be reused an many different situations.

Definition at line 804 of file RTOp.h.


Member Data Documentation

Definition at line 806 of file RTOp.h.

Definition at line 808 of file RTOp.h.

Pointer to a null-terminated string that contains the name of the operator.

Definition at line 812 of file RTOp.h.

int(* RTOp_RTOp_vtbl_t::reduct_obj_reinit)(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data,RTOp_ReductTarget reduct_obj)

Used to overide the initialization or reinitialization of a reduction object before it is passed through a series of reductions.

This function pointer should be made NULL if the default initialization performed by this->reduct_vtbl->obj_create and this->reduct_vtbl->obj_reinit is sufficient (which will generally be the case).

Definition at line 821 of file RTOp.h.

int(* RTOp_RTOp_vtbl_t::apply_op)(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data,const int num_vecs, const struct RTOp_SubVector sub_vecs[],const int num_targ_vecs, const struct RTOp_MutableSubVector targ_sub_vecs[],RTOp_ReductTarget reduct_obj)

Definition at line 829 of file RTOp.h.

int(* RTOp_RTOp_vtbl_t::reduce_reduct_objs)(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data,RTOp_ReductTarget in_reduct_obj, RTOp_ReductTarget inout_reduct_obj)

Definition at line 835 of file RTOp.h.

int(* RTOp_RTOp_vtbl_t::get_reduct_op)(const struct RTOp_RTOp_vtbl_t *vtbl, const void *obj_data,RTOp_reduct_op_func_ptr_t *reduct_op_func_ptr)

Definition at line 839 of file RTOp.h.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:17:08 2011 for MOOCHO (Single Doxygen Collection) by  doxygen 1.6.3