YAC 3.18.0
Yet Another Coupler
Loading...
Searching...
No Matches
yac_interp_method_config_vtable Struct Reference

#include <interp_method_config_internal.h>

Collaboration diagram for yac_interp_method_config_vtable:
Collaboration graph

Data Fields

void(* delete )(struct yac_interp_method_config *config)
 
struct yac_interp_method_config *(* copy )(struct yac_interp_method_config const *config)
 
int(* compare )(void const *a, void const *b)
 
size_t(* get_pack_size )(struct yac_interp_method_config const *config, MPI_Comm comm)
 
void(* pack )(struct yac_interp_method_config const *config, void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
enum yac_interpolation_list(* get_type )(void)
 
struct yac_param *(* get_param )(struct yac_interp_method_config const *config)
 
struct interp_method *(* generate )(struct yac_interp_method_config const *config)
 

Detailed Description

Virtual table for interpolation method config operations. Each interpolation method must provide an implementation for all entries.

Definition at line 18 of file interp_method_config_internal.h.

Field Documentation

◆ compare

int(* yac_interp_method_config_vtable::compare) (void const *a, void const *b)

Compare two config instances.

Parameters
aFirst config.
bSecond config.
Returns
-1, 0, or 1 as in memcmp.

Definition at line 39 of file interp_method_config_internal.h.

◆ copy

struct yac_interp_method_config *(* yac_interp_method_config_vtable::copy) (struct yac_interp_method_config const *config)

Copy a config instance.

Parameters
configPointer to config to copy.
Returns
Newly allocated copy.

Definition at line 23 of file interp_method_config_internal.h.

◆ delete

void(* yac_interp_method_config_vtable::delete) (struct yac_interp_method_config *config)

Delete (deallocate) a config instance.

Parameters
configPointer to config to delete.

Definition at line 23 of file interp_method_config_internal.h.

◆ generate

struct interp_method *(* yac_interp_method_config_vtable::generate) (struct yac_interp_method_config const *config)

Generate interp_method instance from config.

Parameters
configPointer to config.
Returns
Newly allocated interp_method instance.

Definition at line 58 of file interp_method_config_internal.h.

◆ get_pack_size

size_t(* yac_interp_method_config_vtable::get_pack_size) (struct yac_interp_method_config const *config, MPI_Comm comm)

Get the size (in bytes) required to pack this config with MPI_Pack.

Parameters
configPointer to config.
commMPI communicator (for MPI_Pack_size).
Returns
Size in bytes required for packing.

Definition at line 47 of file interp_method_config_internal.h.

◆ get_param

struct yac_param *(* yac_interp_method_config_vtable::get_param) (struct yac_interp_method_config const *config)

Get a handle to the parameter tree for this config.

Parameters
configPointer to config.
Returns
Pointer to root yac_param.

Definition at line 58 of file interp_method_config_internal.h.

◆ get_type

enum yac_interpolation_list(* yac_interp_method_config_vtable::get_type) (void)

Get the type identifier for this config.

Parameters
configPointer to config.
Returns
Interpolation method type identifier.

Definition at line 58 of file interp_method_config_internal.h.

◆ pack

void(* yac_interp_method_config_vtable::pack) (struct yac_interp_method_config const *config, void *buffer, int buffer_size, int *position, MPI_Comm comm)

Pack config into MPI buffer.

Parameters
configPointer to config to pack.
bufferBuffer to pack into.
buffer_sizeSize of buffer.
positionPosition in buffer (as in MPI_Pack).
commMPI communicator.

Definition at line 58 of file interp_method_config_internal.h.


The documentation for this struct was generated from the following file: