TIMPI
Loading...
Searching...
No Matches
src
parallel
include
timpi
post_wait_copy_buffer.h
Go to the documentation of this file.
1
// The TIMPI Message-Passing Parallelism Library.
2
// Copyright (C) 2002-2025 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3
4
// This library is free software; you can redistribute it and/or
5
// modify it under the terms of the GNU Lesser General Public
6
// License as published by the Free Software Foundation; either
7
// version 2.1 of the License, or (at your option) any later version.
8
9
// This library is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// Lesser General Public License for more details.
13
14
// You should have received a copy of the GNU Lesser General Public
15
// License along with this library; if not, write to the Free Software
16
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
18
19
#ifndef TIMPI_POST_WAIT_COPY_BUFFER_H
20
#define TIMPI_POST_WAIT_COPY_BUFFER_H
21
22
// TIMPI includes
23
#include "
timpi/post_wait_work.h
"
24
25
// C++ includes
26
#include <algorithm>
27
28
namespace
TIMPI
29
{
30
31
// PostWaitWork specialization for copying from temporary to
32
// output containers
33
template
<
typename
Container,
typename
OutputIter>
34
struct
PostWaitCopyBuffer
:
public
PostWaitWork
{
35
PostWaitCopyBuffer
(
const
Container
&
buffer
,
const
OutputIter
out
)
36
:
_buf
(
buffer
),
_out
(
out
) {}
37
38
virtual
void
run
()
override
{ std::copy(
_buf
.begin(),
_buf
.end(),
_out
); }
39
40
private
:
41
const
Container
&
_buf
;
42
OutputIter
_out
;
43
};
44
45
}
// namespace TIMPI
46
47
#endif
// TIMPI_POST_WAIT_COPY_BUFFER_H
TIMPI
Definition
parallel_sync.h:36
TIMPI::cast_int
Tnew cast_int(Told oldvar)
Definition
timpi_assert.h:297
post_wait_work.h
TIMPI::PostWaitCopyBuffer
Definition
post_wait_copy_buffer.h:34
TIMPI::PostWaitCopyBuffer::_buf
const Container & _buf
Definition
post_wait_copy_buffer.h:41
TIMPI::PostWaitCopyBuffer::PostWaitCopyBuffer
PostWaitCopyBuffer(const Container &buffer, const OutputIter out)
Definition
post_wait_copy_buffer.h:35
TIMPI::PostWaitCopyBuffer::_out
OutputIter _out
Definition
post_wait_copy_buffer.h:42
TIMPI::PostWaitCopyBuffer::run
virtual void run() override
Definition
post_wait_copy_buffer.h:38
TIMPI::PostWaitWork
An abstract base class that can be subclassed to allow other code to perform work after a MPI_Wait su...
Definition
post_wait_work.h:40
Generated on Fri Aug 21 2026 13:32:13 for TIMPI by
1.9.8