COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Namespaces | Functions
datatype.hpp File Reference
#include <mpi.h>
#include <boost/type_traits/is_pod.hpp>
#include "common/PE/types.hpp"

Go to the source code of this file.

Namespaces

 cf3
 Top-level namespace for coolfluid.
 
 cf3::common
 Most basic kernel library.
 
 cf3::common::PE
 Classes offering a MPI interface for COOLFluiD.
 
 cf3::common::PE::detail
 Default of get_mpi_datatype_impl which returns nullptr.
 

Functions

template<typename T >
Datatype get_mpi_datatype_impl (const T &)
 
template<>
Datatype get_mpi_datatype_impl< char > (const char &)
 
template<>
Datatype get_mpi_datatype_impl< unsigned char > (const unsigned char &)
 
template<>
Datatype get_mpi_datatype_impl< short > (const short &)
 
template<>
Datatype get_mpi_datatype_impl< unsigned short > (const unsigned short &)
 
template<>
Datatype get_mpi_datatype_impl< int > (const int &)
 
template<>
Datatype get_mpi_datatype_impl< unsigned int > (const unsigned int &)
 
template<>
Datatype get_mpi_datatype_impl< long > (const long &)
 
template<>
Datatype get_mpi_datatype_impl< unsigned long > (const unsigned long &)
 
template<>
Datatype get_mpi_datatype_impl< long long > (const long long &)
 
template<>
Datatype get_mpi_datatype_impl< unsigned long long > (const unsigned long long &)
 
template<>
Datatype get_mpi_datatype_impl< float > (const float &)
 
template<>
Datatype get_mpi_datatype_impl< double > (const double &)
 
template<>
Datatype get_mpi_datatype_impl< long double > (const long double &)
 
template<typename T >
Datatype get_mpi_datatype (const T &ref_of_type)
 ACCESS AND REGISTRATION MECHANISM. More...
 
template<typename T >
Datatype get_mpi_datatype ()
 

Detailed Description

Author
Tamas Banyai This header serves the necessary routines to interface C/C++ datatypes to MPI types. It is basically a reduced version of boost.mpi. Use the function get_mpi_datatype to acces MPI_type; New plain old data types are automatically registered. Non built-in types with smaller sizes result to lower performance due to memcpy. Never-ever use Datatype outside of namespace cf3:common::Comm. If you really need to use it, than rather extend the interface.

Definition in file datatype.hpp.

Send comments to:
COOLFluiD Web Admin