GEOS
BufferOps.hpp
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 TotalEnergies
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
16 
17 #ifndef GEOS_MESH_BUFFEROPS_HPP_
18 #define GEOS_MESH_BUFFEROPS_HPP_
19 
20 #include "common/DataTypes.hpp"
21 
24 class ElementRegionManager;
25 
26 namespace geos
27 {
28 namespace bufferOps
29 {
47 template< bool DO_PACKING >
48 localIndex Pack( buffer_unit_type * & buffer,
50  arrayView1d< localIndex const > const & packList,
51  ElementRegionManager const * const elementRegionManager );
69 template< bool DO_PACKING >
70 localIndex Pack( buffer_unit_type * & buffer,
71  FixedToManyElementRelation const & var,
72  arrayView1d< localIndex const > const & packList,
73  ElementRegionManager const * const elementRegionManager );
88 localIndex Unpack( buffer_unit_type const * & buffer,
90  arrayView1d< localIndex const > const & packList,
91  ElementRegionManager const * const elementRegionManager,
92  bool const clearFlag );
107 localIndex Unpack( buffer_unit_type const * & buffer,
109  arrayView1d< localIndex const > const & packList,
110  ElementRegionManager const * const elementRegionManager,
111  bool const clearFlag );
112 }
113 }
114 #endif
ToElementRelation< ArrayOfArrays< localIndex > > OrderedVariableToManyElementRelation
A ToElementRelation where each object is related to an arbitrary number of elements.
ToElementRelation< array2d< localIndex > > FixedToManyElementRelation
A ToElementRelation where each object is related to the same number of elements.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
Definition: DataTypes.hpp:85
signed char buffer_unit_type
Type stored in communication buffers.
Definition: DataTypes.hpp:109