SimGrid  3.18
Versatile Simulation of Distributed Systems
simgrid::smpi::Type_Struct Class Reference

#include <smpi_datatype_derived.hpp>

Inheritance diagram for simgrid::smpi::Type_Struct:
simgrid::smpi::Datatype simgrid::smpi::F2C simgrid::smpi::Keyval

Public Member Functions

 Type_Struct (int size, MPI_Aint lb, MPI_Aint ub, int flags, int block_count, int *block_lengths, MPI_Aint *block_indices, MPI_Datatype *old_types)
 
 ~Type_Struct ()
 
void serialize (void *noncontiguous, void *contiguous, int count)
 
void unserialize (void *contiguous_vector, void *noncontiguous_vector, int count, MPI_Op op)
 
- Public Member Functions inherited from simgrid::smpi::Datatype
 Datatype (int size, MPI_Aint lb, MPI_Aint ub, int flags)
 
 Datatype (char *name, int size, MPI_Aint lb, MPI_Aint ub, int flags)
 
 Datatype (Datatype *datatype, int *ret)
 
virtual ~Datatype ()
 
char * name ()
 
size_t size ()
 
MPI_Aint lb ()
 
MPI_Aint ub ()
 
int flags ()
 
int refcount ()
 
void ref ()
 
void commit ()
 
bool is_valid ()
 
bool is_basic ()
 
bool is_replayable ()
 
void addflag (int flag)
 
int extent (MPI_Aint *lb, MPI_Aint *extent)
 
MPI_Aint get_extent ()
 
void get_name (char *name, int *length)
 
void set_name (char *name)
 
int pack (void *inbuf, int incount, void *outbuf, int outcount, int *position, MPI_Comm comm)
 
int unpack (void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Comm comm)
 
- Public Member Functions inherited from simgrid::smpi::F2C
virtual ~F2C ()=default
 
virtual int add_f ()
 
virtual int c2f ()
 
- Public Member Functions inherited from simgrid::smpi::Keyval
template<typename T >
int attr_delete (int keyval)
 
template<typename T >
int attr_get (int keyval, void *attr_value, int *flag)
 
template<typename T >
int attr_put (int keyval, void *attr_value)
 
template<typename T >
void cleanup_attr ()
 
template<>
int call_deleter (Comm *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 
template<>
int call_deleter (Win *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 
template<>
int call_deleter (Datatype *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 

Additional Inherited Members

- Static Public Member Functions inherited from simgrid::smpi::Datatype
static void unref (MPI_Datatype datatype)
 
static int copy (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype)
 
static int keyval_create (MPI_Type_copy_attr_function *copy_fn, MPI_Type_delete_attr_function *delete_fn, int *keyval, void *extra_state)
 
static int keyval_free (int *keyval)
 
static int create_contiguous (int count, MPI_Datatype old_type, MPI_Aint lb, MPI_Datatype *new_type)
 
static int create_vector (int count, int blocklen, int stride, MPI_Datatype old_type, MPI_Datatype *new_type)
 
static int create_hvector (int count, int blocklen, MPI_Aint stride, MPI_Datatype old_type, MPI_Datatype *new_type)
 
static int create_indexed (int count, int *blocklens, int *indices, MPI_Datatype old_type, MPI_Datatype *new_type)
 
static int create_hindexed (int count, int *blocklens, MPI_Aint *indices, MPI_Datatype old_type, MPI_Datatype *new_type)
 
static int create_struct (int count, int *blocklens, MPI_Aint *indices, MPI_Datatype *old_types, MPI_Datatype *new_type)
 
static Datatypef2c (int id)
 
- Static Public Member Functions inherited from simgrid::smpi::F2C
static char * get_key (char *key, int id)
 
static char * get_key_id (char *key, int id)
 
static void delete_lookup ()
 
static std::unordered_map< std::string, F2C * > * lookup ()
 
static void free_f (int id)
 
static F2Cf2c (int id)
 
- Static Public Member Functions inherited from simgrid::smpi::Keyval
template<typename T >
static int keyval_create (smpi_copy_fn copy_fn, smpi_delete_fn delete_fn, int *keyval, void *extra_statee)
 
template<typename T >
static int keyval_free (int *keyval)
 
template<typename T >
static int call_deleter (T *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 
- Static Public Attributes inherited from simgrid::smpi::Datatype
static std::unordered_map< int, smpi_key_elemkeyvals_
 
static int keyval_id_ =0
 
- Protected Member Functions inherited from simgrid::smpi::Keyval
std::unordered_map< int, void * > * attributes ()
 
- Static Protected Member Functions inherited from simgrid::smpi::F2C
static std::unordered_map< std::string, F2C * > * f2c_lookup ()
 
static void set_f2c_lookup (std::unordered_map< std::string, F2C *> *map)
 
static int f2c_id ()
 
static void f2c_id_increment ()
 

Constructor & Destructor Documentation

◆ Type_Struct()

simgrid::smpi::Type_Struct::Type_Struct ( int  size,
MPI_Aint  lb,
MPI_Aint  ub,
int  flags,
int  block_count,
int *  block_lengths,
MPI_Aint block_indices,
MPI_Datatype old_types 
)

◆ ~Type_Struct()

simgrid::smpi::Type_Struct::~Type_Struct ( )

Member Function Documentation

◆ serialize()

void simgrid::smpi::Type_Struct::serialize ( void noncontiguous,
void contiguous,
int  count 
)
virtual

Reimplemented from simgrid::smpi::Datatype.

◆ unserialize()

void simgrid::smpi::Type_Struct::unserialize ( void contiguous_vector,
void noncontiguous_vector,
int  count,
MPI_Op  op 
)
virtual

Reimplemented from simgrid::smpi::Datatype.


The documentation for this class was generated from the following files: