10 #ifndef TPETRA_PACKABLE_DECL_HPP
11 #define TPETRA_PACKABLE_DECL_HPP
18 #ifndef DOXYGEN_SHOULD_SKIP_THIS
21 template <
class T>
class Array;
22 template <
class T>
class ArrayView;
25 #endif // DOXYGEN_SHOULD_SKIP_THIS
62 template<
class Packet,
87 pack (
const Teuchos::ArrayView<const LocalOrdinal>& exportLIDs,
88 Teuchos::Array<Packet>& exports,
89 const Teuchos::ArrayView<size_t>& numPacketsPerLID,
90 size_t& constantNumPackets)
const = 0;
Forward declaration of Tpetra::Packable.
virtual ~Packable()
Destructor (virtual for memory safety of derived classes).
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.
Abstract base class for objects that can be the source of an Import or Export operation, and that also know how to pack their data to send to the target object.