Tpetra parallel linear algebra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
Tpetra_Packable.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Tpetra: Templated Linear Algebra Services Package
4
//
5
// Copyright 2008 NTESS and the Tpetra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef TPETRA_PACKABLE_DECL_HPP
11
#define TPETRA_PACKABLE_DECL_HPP
12
15
16
#include "
Tpetra_Packable_fwd.hpp
"
17
18
#ifndef DOXYGEN_SHOULD_SKIP_THIS
19
namespace
Teuchos {
20
// Forward declarations
21
template
<
class
T>
22
class
Array;
23
template
<
class
T>
24
class
ArrayView;
25
}
// namespace Teuchos
26
27
#endif
// DOXYGEN_SHOULD_SKIP_THIS
28
29
namespace
Tpetra
{
64
template
<
class
Packet,
65
class
LocalOrdinal>
66
class
Packable
{
67
public
:
88
virtual
void
89
pack
(
const
Teuchos::ArrayView<const LocalOrdinal>& exportLIDs,
90
Teuchos::Array<Packet>& exports,
91
const
Teuchos::ArrayView<size_t>& numPacketsPerLID,
92
size_t
& constantNumPackets)
const
= 0;
93
95
virtual
~Packable
() {}
96
};
97
}
// namespace Tpetra
98
99
#endif
/* TPETRA_PACKABLE_DECL_HPP */
Tpetra_Packable_fwd.hpp
Forward declaration of Tpetra::Packable.
Tpetra::Packable
Abstract base class for objects that can be the source of an Import or Export operation,...
Definition
Tpetra_Packable.hpp:66
Tpetra::Packable::pack
virtual void pack(const Teuchos::ArrayView< const LocalOrdinal > &exportLIDs, Teuchos::Array< Packet > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, size_t &constantNumPackets) const =0
Pack the object's data for an Import or Export.
Tpetra::Packable::~Packable
virtual ~Packable()
Destructor (virtual for memory safety of derived classes).
Definition
Tpetra_Packable.hpp:95
Tpetra
Namespace Tpetra contains the class and methods constituting the Tpetra library.
Generated by
1.17.0