ESyS-Particle
2.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
BroadCast_cmd.h
Go to the documentation of this file.
1
2
// //
3
// Copyright (c) 2003-2013 by The University of Queensland //
4
// Earth Systems Science Computational Centre (ESSCC) //
5
// http://www.uq.edu.au/esscc //
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 __BROADCAST_CMD_H
14
#define __BROADCAST_CMD_H
15
16
#include "
Parallel/mpicmdbuf.h
"
17
#include "
Parallel/mpivbuf.h
"
18
#include "
Parallel/mpibarrier.h
"
19
#include "
Parallel/RankAndComm.h
"
20
24
class
BroadcastCommand
25
{
26
private
:
27
int
m_commandId
;
28
CVarMPIBuffer
m_varBuffer
;
29
CMPIBarrier
m_barrier
;
30
CMPILCmdBuffer
m_cmdBuffer
;
31
32
public
:
33
BroadcastCommand
(
const
MpiRankAndComm
&rankAndComm,
int
cmdId);
34
virtual
~BroadcastCommand
(){}
35
40
template
<
typename
TmplData>
41
void
appendTypeAndName
(
const
TmplData &namedWithType);
42
46
template
<
typename
TmplData>
47
void
append
(
const
TmplData &basicTypeData);
48
52
template
<
typename
TmplPackable>
53
void
packInto
(
const
TmplPackable&);
54
58
const
int
&
getCommandId
()
const
;
59
63
void
broadcastCommand
();
64
68
void
broadcastBuffer
();
69
73
void
wait
(
const
std::string &barrierName);
74
79
void
broadcast
();
80
81
};
82
#include "
Parallel/BroadCast_cmd.hpp
"
83
84
#endif // BROADCAST_CMD_H
Parallel
BroadCast_cmd.h
Generated on Mon May 6 2013 23:26:30 for ESyS-Particle by
1.8.3.1