Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IMemoryCopier.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IMemoryCopier.h (C) 2000-2025 */
9/* */
10/* Interface for memory copies. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_COMMON_INTERNAL_IMEMORYCOPIER_H
13#define ARCCORE_COMMON_INTERNAL_IMEMORYCOPIER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/common/IMemoryResourceMng.h"
18#include "arccore/base/MemoryView.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
32class ARCCORE_COMMON_EXPORT IMemoryCopier
33{
34 public:
35
36 virtual ~IMemoryCopier() = default;
37
38 public:
39
45 virtual void copy(ConstMemoryView from, eMemoryResource from_mem,
47 const RunQueue* queue) = 0;
48};
49
50/*---------------------------------------------------------------------------*/
51/*---------------------------------------------------------------------------*/
52
53} // End namespace Arcane
54
55/*---------------------------------------------------------------------------*/
56/*---------------------------------------------------------------------------*/
57
58#endif
Constant view on a contiguous memory region containing fixed-size elements.
Interface for memory copies with accelerator support.
virtual void copy(ConstMemoryView from, eMemoryResource from_mem, MutableMemoryView to, eMemoryResource to_mem, const RunQueue *queue)=0
Copies the data from from to to with the queue queue.
Mutable view on a contiguous memory region containing fixed-size elements.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
eMemoryResource
List of available memory resources.