TIMPI
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::PostWaitCopyBuffer::_buf
const Container & _buf
Definition:
post_wait_copy_buffer.h:41
TIMPI::PostWaitCopyBuffer::_out
OutputIter _out
Definition:
post_wait_copy_buffer.h:42
TIMPI::PostWaitCopyBuffer::PostWaitCopyBuffer
PostWaitCopyBuffer(const Container &buffer, const OutputIter out)
Definition:
post_wait_copy_buffer.h:35
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
post_wait_work.h
TIMPI
Definition:
parallel_sync.h:36
TIMPI::PostWaitCopyBuffer
Definition:
post_wait_copy_buffer.h:34
Generated on Thu Jul 17 2025 01:28:44 for TIMPI by
1.8.14