ESyS-Particle  2.3.4
message.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef __MESSAGE_H
14 #define __MESSAGE_H
15 
16 #include <mpi.h>
26 {
27  protected:
28  MPI_Status m_status;
29 
30 public:
31  virtual ~TML_Message(){};
32 
33  virtual void clear()=0;
34  virtual size_t size();
35  template <class T> virtual void append(T)=0;
36  template <class T> virtual pop(T&)=0;
37  const MPI_Status& status(){return m_status;};
38 };
39 #endif // __MESSAGE_H
TML_Message::size
virtual size_t size()
TML_Message::~TML_Message
virtual ~TML_Message()
Definition: message.h:31
TML_Message
Abstract base class for MPI message.
Definition: message.h:26
TML_Message::status
const MPI_Status & status()
Definition: message.h:37
TML_Message::clear
virtual void clear()=0
TML_Message::m_status
MPI_Status m_status
Definition: message.h:28
TML_Message::append
virtual void append(T)=0
TML_Message::pop
virtual pop(T &)=0