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

#include <RTOp.h>

List of all members.

Public Attributes

RTOp_obj_type_vtbl_tobj_data_vtbl
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

struct RTOp_obj_type_vtbl_t* RTOp_RTOp_vtbl_t::obj_data_vtbl

Definition at line 806 of file RTOp.h.

struct RTOp_obj_type_vtbl_t* RTOp_RTOp_vtbl_t::reduct_vtbl

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

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 Tue Jul 13 09:34:58 2010 for MOOCHO (Single Doxygen Collection) by  doxygen 1.4.7