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

#include <RTOp.h>

List of all members.

Public Attributes

const struct RTOp_obj_type_vtbl_tobj_data_vtbl
const 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 795 of file RTOp.h.


Member Data Documentation

const struct RTOp_obj_type_vtbl_t* RTOp_RTOp_vtbl_t::obj_data_vtbl
 

Definition at line 797 of file RTOp.h.

const struct RTOp_obj_type_vtbl_t* RTOp_RTOp_vtbl_t::reduct_vtbl
 

Definition at line 799 of file RTOp.h.

const char* RTOp_RTOp_vtbl_t::op_name
 

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

Definition at line 803 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).

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)
 

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)
 

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)
 


The documentation for this struct was generated from the following file:
Generated on Thu Sep 18 12:36:06 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1