ESyS-Particle  2.3
multi_message_slab.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2014 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.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef __MULTI_MESSAGE_SLAB_H
14 #define __MULTI_MESSAGE_SLAB_H
15 
16 //--- MPI ---
17 #include <mpi.h>
18 
19 
20 //--- project includes---
22 #include "Foundation/vec3.h" // for append(Vec3), pop_vec3()
23 
24 //--- forward declarations ---
25 
27 
33 {
34  private:
36  int m_idx;
37 
38  public:
40 
41  virtual void begin_pack();
42  virtual void begin_unpack();
43  virtual void append(int);
44  virtual void append(double);
45  virtual void append(const string&);
46  virtual void append(const Vec3&);
47  virtual void append(bool);
48 
49  virtual int pop_int();
50  virtual double pop_double();
51  virtual void pop_doubles(double*,int);
52  virtual string pop_string();
53  virtual Vec3 pop_vec3();
54  virtual bool pop_bool();
55 };
56 #endif //__MULTI_MESSAGE_SLAB_H
virtual double pop_double()
Definition: multi_message_slab.cpp:106
Handle class to access multimessages via a packed message interface.
Definition: multi_message_slab.h:32
Definition: vec3.h:46
virtual int pop_int()
Definition: multi_message_slab.cpp:98
virtual string pop_string()
Definition: multi_message_slab.cpp:122
TML_PackedMultiMessageSlab(TML_PackedMultiMessage *, int)
Definition: multi_message_slab.cpp:23
virtual bool pop_bool()
Definition: multi_message_slab.cpp:145
virtual void begin_pack()
Definition: multi_message_slab.cpp:32
virtual Vec3 pop_vec3()
Definition: multi_message_slab.cpp:131
int m_idx
Definition: multi_message_slab.h:36
virtual void append(int)
Definition: multi_message_slab.cpp:50
virtual void pop_doubles(double *, int)
Definition: multi_message_slab.cpp:115
virtual void begin_unpack()
Definition: multi_message_slab.cpp:40
Message buffer for sending and receiving packed data to mutltiple receivers. Data types are not check...
Definition: packed_multi_message.h:34
TML_PackedMultiMessage * m_msg
Definition: multi_message_slab.h:35
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:28