OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Message.h File Reference
#include <complex>
#include <cstddef>
#include <vector>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include "Message/Message.hpp"
Include dependency graph for Message.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MessageTypeIntrinsic< T >
struct  MessageTypeIntrinsic< bool >
struct  MessageTypeIntrinsic< bool * >
struct  MessageTypeIntrinsic< bool[N]>
struct  MessageTypeIntrinsic< const bool >
struct  MessageTypeIntrinsic< const bool * >
struct  MessageTypeIntrinsic< const bool[N]>
struct  MessageTypeIntrinsic< char >
struct  MessageTypeIntrinsic< char * >
struct  MessageTypeIntrinsic< char[N]>
struct  MessageTypeIntrinsic< const char >
struct  MessageTypeIntrinsic< const char * >
struct  MessageTypeIntrinsic< const char[N]>
struct  MessageTypeIntrinsic< unsigned char >
struct  MessageTypeIntrinsic< unsigned char * >
struct  MessageTypeIntrinsic< unsigned char[N]>
struct  MessageTypeIntrinsic< const unsigned char >
struct  MessageTypeIntrinsic< const unsigned char * >
struct  MessageTypeIntrinsic< const unsigned char[N]>
struct  MessageTypeIntrinsic< short >
struct  MessageTypeIntrinsic< short * >
struct  MessageTypeIntrinsic< short[N]>
struct  MessageTypeIntrinsic< const short >
struct  MessageTypeIntrinsic< const short * >
struct  MessageTypeIntrinsic< const short[N]>
struct  MessageTypeIntrinsic< unsigned short >
struct  MessageTypeIntrinsic< unsigned short * >
struct  MessageTypeIntrinsic< unsigned short[N]>
struct  MessageTypeIntrinsic< const unsigned short >
struct  MessageTypeIntrinsic< const unsigned short * >
struct  MessageTypeIntrinsic< const unsigned short[N]>
struct  MessageTypeIntrinsic< int >
struct  MessageTypeIntrinsic< int * >
struct  MessageTypeIntrinsic< int[N]>
struct  MessageTypeIntrinsic< const int >
struct  MessageTypeIntrinsic< const int * >
struct  MessageTypeIntrinsic< const int[N]>
struct  MessageTypeIntrinsic< unsigned int >
struct  MessageTypeIntrinsic< unsigned int * >
struct  MessageTypeIntrinsic< unsigned int[N]>
struct  MessageTypeIntrinsic< const unsigned int >
struct  MessageTypeIntrinsic< const unsigned int * >
struct  MessageTypeIntrinsic< const unsigned int[N]>
struct  MessageTypeIntrinsic< long >
struct  MessageTypeIntrinsic< long * >
struct  MessageTypeIntrinsic< long[N]>
struct  MessageTypeIntrinsic< const long >
struct  MessageTypeIntrinsic< const long * >
struct  MessageTypeIntrinsic< const long[N]>
struct  MessageTypeIntrinsic< unsigned long >
struct  MessageTypeIntrinsic< unsigned long * >
struct  MessageTypeIntrinsic< unsigned long[N]>
struct  MessageTypeIntrinsic< const unsigned long >
struct  MessageTypeIntrinsic< const unsigned long * >
struct  MessageTypeIntrinsic< const unsigned long[N]>
struct  MessageTypeIntrinsic< long long >
struct  MessageTypeIntrinsic< long long * >
struct  MessageTypeIntrinsic< long long[N]>
struct  MessageTypeIntrinsic< const long long >
struct  MessageTypeIntrinsic< const long long * >
struct  MessageTypeIntrinsic< const long long[N]>
struct  MessageTypeIntrinsic< float >
struct  MessageTypeIntrinsic< float * >
struct  MessageTypeIntrinsic< float[N]>
struct  MessageTypeIntrinsic< const float >
struct  MessageTypeIntrinsic< const float * >
struct  MessageTypeIntrinsic< const float[N]>
struct  MessageTypeIntrinsic< double >
struct  MessageTypeIntrinsic< double * >
struct  MessageTypeIntrinsic< double[N]>
struct  MessageTypeIntrinsic< const double >
struct  MessageTypeIntrinsic< const double * >
struct  MessageTypeIntrinsic< const double[N]>
struct  MessageTypeIntrinsic< std::complex< double > >
struct  MessageTypeIntrinsic< std::complex< double > * >
struct  MessageTypeIntrinsic< std::complex< double >[N]>
struct  MessageTypeIntrinsic< const std::complex< double > >
struct  MessageTypeIntrinsic< const std::complex< double > * >
struct  MessageTypeIntrinsic< const std::complex< double >[N]>
struct  PutSingleItem< T, builtin, pointer >
struct  PutSingleItem< T, false, false >
struct  PutSingleItem< T, true, false >
struct  PutSingleItem< T, true, true >
class  Message
class  Message::MsgItem
struct  Message::MsgItem::MsgItemBuf

Macros

#define DEFINE_BUILTIN_TRAIT_CLASS(T)
#define DEFINE_ALL_BUILTIN_TRAIT_CLASS(T)

Functions

std::ostream & operator<< (std::ostream &o, const Message &m)
template<class T>
void putMessage (Message &m, const T &t)
template<class ForwardIterator>
void putMessage (Message &m, ForwardIterator beg, ForwardIterator end)
template<class RandomAccessIterator>
void putMessage (Message &m, const std::vector< size_t > &v, RandomAccessIterator r)
template<class T>
void getMessage (Message &m, T &t)
template<class T>
void getMessage (Message &m, T *t)
template<class T>
void getMessage (Message &m, T *t, T *)
template<class OutputIterator>
void getMessage_iter (Message &m, OutputIterator o)

Class Documentation

◆ PutSingleItem

struct PutSingleItem
template<class T, bool builtin, bool pointer>
struct PutSingleItem< T, builtin, pointer >

Definition at line 98 of file Message.h.

Inheritance diagram for PutSingleItem< T, builtin, pointer >:
Collaboration diagram for PutSingleItem< T, builtin, pointer >:

Macro Definition Documentation

◆ DEFINE_ALL_BUILTIN_TRAIT_CLASS

#define DEFINE_ALL_BUILTIN_TRAIT_CLASS ( T)
Value:
DEFINE_BUILTIN_TRAIT_CLASS(const T)
#define DEFINE_BUILTIN_TRAIT_CLASS(T)
Definition Message.h:58

Definition at line 75 of file Message.h.

◆ DEFINE_BUILTIN_TRAIT_CLASS

#define DEFINE_BUILTIN_TRAIT_CLASS ( T)
Value:
template <> \
struct MessageTypeIntrinsic<T> { \
enum { builtin = 1 }; \
enum { pointer = 0 }; \
}; \
template <> \
struct MessageTypeIntrinsic<T *> { \
enum { builtin = 1 }; \
enum { pointer = 1 }; \
}; \
template <int N> \
struct MessageTypeIntrinsic<T[N]> { \
enum { builtin = 1 }; \
enum { pointer = 1 }; \
};

Definition at line 58 of file Message.h.

Function Documentation

◆ getMessage() [1/3]

template<class T>
void getMessage ( Message & m,
T & t )
inline

◆ getMessage() [2/3]

template<class T>
void getMessage ( Message & m,
T * t )
inline

Definition at line 579 of file Message.h.

References Message::get_iter().

Here is the call graph for this function:

◆ getMessage() [3/3]

template<class T>
void getMessage ( Message & m,
T * t,
T *  )
inline

Definition at line 586 of file Message.h.

References Message::get_iter().

Here is the call graph for this function:

◆ getMessage_iter()

template<class OutputIterator>
void getMessage_iter ( Message & m,
OutputIterator o )
inline

Definition at line 595 of file Message.h.

References Message::get_iter().

Referenced by DiscField< Dim >::distribute_offsets(), IpplInfo::find_smp_nodes(), CompressedBrickIterator< T, Dim >::getMessage(), ParticleAttrib< T >::getMessage(), SOffset< Dim >::getMessage(), ParticleAttrib< T >::ghostGetMessage(), and ParticleInteractAttrib< T >::ghostGetMessage().

Here is the call graph for this function:

◆ operator<<()

std::ostream & operator<< ( std::ostream & o,
const Message & m )

Definition at line 195 of file MessageFunctions.cpp.

References endl(), Message::item(), Message::MsgItem::numBytes(), Message::MsgItem::numElems(), Message::removed(), Message::size(), and Message::MsgItem::willNeedDelete().

Here is the call graph for this function:

◆ putMessage() [1/3]

template<class RandomAccessIterator>
void putMessage ( Message & m,
const std::vector< size_t > & v,
RandomAccessIterator r )
inline

Definition at line 563 of file Message.h.

References Message::put().

Here is the call graph for this function:

◆ putMessage() [2/3]

◆ putMessage() [3/3]

template<class ForwardIterator>
void putMessage ( Message & m,
ForwardIterator beg,
ForwardIterator end )
inline

Definition at line 556 of file Message.h.

References end(), and Message::put().

Here is the call graph for this function: